熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

在不同浏覽器中獲取File Input的路徑

2013-11-13 09:56:23  來源: .NET編程 

  <head><title>File Input</title>

  <meta httpequiv=contenttype content=text/html; charset=utf />

  <style>

  body{fontsize:px;}

  box{border:px solid #eee;background:#ffe;padding:px px;margin:px;}

  dt{fontweight:bold;}

  dtimgtextarea{margin:px ;}

  em{color:#f; fontstyle:normal;}

  span{color:#;}

  ft{color:#;fontsize:px;textalign:right}

  </style>

  </head>

  <body>

  <h>在不同浏覽器中獲取File Input的value</h>

  <div class=box>

  <input type=file name=foo id=foo size= />

  <input type=button value=Show Value onclick=alert(documentgetElementById(foo)value) />

  <input type=button value=Show Value in FF onclick=alert(getValueFF(foo)) />

  <input type=button value=Show Value in IE onclick=alert(getValueIE(foo)) />

  </div>

  <div class=box>

  <dl>

  <dt>Firefox x IE IE</dt>

  <dd>在本地及遠端都可以取得完整地址(包括路徑及文件名)</dd>

  </dl>

  <dl>

  <dt>Firefox </dt>

  <dd>在本地及遠端都<em>不能</em>取得完整地址只能獲得文件名</dd>

  </dl>

  <dl>

  <dt>IE IE(IE模擬)</dt>

  <dd>在本地可以取得完整地址(包括路徑及文件名)在遠端<em>不能</em>取得完整地址只能獲得文件名</dd>

  </dl>

  <span>* 本地localhost</span>

  </div>

  <div class=box>

  <h>如何在Firefox下取得完整路徑</h>

  <p>

  第一步打開about:config頁面查找debase_principal_support屬性將其值設置為true

  <p></p>

  <p>

  第二步在javascript中采用以下代碼進行獲取<br />

  <textarea name=textarea >

  function getValueFF(id){

  var ip = documentgetElementById(id);

  if (ipfiles) {

  //ffx try to have access to full path

  try {

  netscapesecurityPrivilegeManagerenablePrivilege( UniversalFileRead )

  }

  catch (err) {

  //need to set debase_principal_support to true

  }

  };

  return ipvalue;

  }

  </textarea>

  <p></p>

  <p>

  經過以上步驟在Firefox下獲取file input的value時會彈出一個Internet Security的對話框點擊Allow將可以獲取完整value<br />

  <span>資料<a target=_blank >_bugcgi?id=</a></span>

  <p></p>

  </div>

  <div class=box>

  <h>如何在IE下取得完整路徑</h>

  <p>方法一使用selectioncreateRange <br />

  <textarea name=textarea >

  function getValueIE(id){

  var ip = documentgetElementById(id);

  ipselect();

  return documentselectioncreateRange()text;

  }

  </textarea>

  <p></p>

  <p>方法二引用<a _blank >;/a><p></p>

  </div>

  <script language=JavaScript>

  function getValueFF(id){

  var ip = documentgetElementById(id);

  if (ipfiles) {

  //ffx try to have access to full path

  try {

  netscapesecurityPrivilegeManagerenablePrivilege( UniversalFileRead )

  }

  catch (err) {

  //need to set debase_principal_support to true

  }

  };

  return ipvalue;

  }

  function getValueIE(id){

  var ip = documentgetElementById(id);

  ipselect();

  return documentselectioncreateRange()text;

  }

  </script>

  </body>


From:http://tw.wingwit.com/Article/program/net/201311/12042.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.