導航:首頁 > 編程語言 > chromejs讀取目錄

chromejs讀取目錄

發布時間:2025-08-29 17:53:05

『壹』 js如何獲取file控制項的完整路徑

代碼如下:
<script type="text/javascript">
//FX獲取文件路徑方法
function readFileFirefox(fileBrowser) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch (e) {
alert('無法訪問本地文件,由於瀏覽器安全設置。為了克服這一點,請按照下列步驟操作:(1)在地址欄輸入"about:config";(2) 右鍵點擊並選擇 New->Boolean; (3) 輸入"signed.applets.codebase_principal_support" (不含引號)作為一個新的首選項的名稱;(4) 點擊OK並試著重新載入文件');
return;
}
var fileName=fileBrowser.value; //這一步就能得到客戶端完整路徑。下面的是否判斷的太復雜,還有下面得到ie的也很復雜。
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
try {
// Back slashes for windows
file.initWithPath( fileName.replace(/\//g, "\\\\") );
}
catch(e) {
if (e.result!=Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH) throw e;
alert("File '" + fileName + "' cannot be loaded: relative paths are not allowed. Please provide an absolute path to this file.");
return;
}
if ( file.exists() == false ) {
alert("File '" + fileName + "' not found.");
return;
}
return file.path;
}
//根據不同瀏覽器獲取路徑
function getvl(){
//判斷瀏覽器
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
var file_url="";
if(Sys.ie<="6.0"){
//ie5.5,ie6.0
file_url = document.getElementById("file").value;
}else if(Sys.ie>="7.0"){
//ie7,ie8
var file = document.getElementById("file");
file.select();
file_url = document.selection.createRange().text;
}else if(Sys.firefox){
//fx
//file_url = document.getElementById("file").files[0].getAsDataURL();//獲取的路徑為FF識別的加密字元串
file_url = readFileFirefox(document.getElementById("file"));
}
//alert(file_url);
document.getElementById("text").innerHTML="獲取文件域完整路徑為:"+file_url;
}
</script>
<h1>JS獲取文件域完整路徑的方法,兼容不同瀏覽器</h1>
<div id="text" style="color:#f00;"></div>
<input type="file" id="file" />
<input name="" type="button" value="獲取" onClick="getvl();">

『貳』 Chrome插件如何向網頁輸入js文件

Chrome插件可以通過以下方式向網頁注入JS文件

  1. 使用內容腳本

    • 內容腳本是Chrome擴展中一種特殊的腳本,它可以在匹配的網頁中自動運行。
    • 要向網頁注入JS文件,可以將該JS文件的代碼直接寫入內容腳本中,或者通過內容腳本動態載入該JS文件。
  2. 動態載入JS文件

    • 在內容腳本中,可以使用XMLHttpRequest或fetch API從伺服器獲取JS文件的內容,然後使用eval函數或創建一個新的<script>元素並將JS代碼設置為該元素的textContent來執行該代碼。
    • 注意:出於安全考慮,不建議使用eval函數,因為它會執行傳入的任意代碼,可能導致安全風險。使用<script>元素是更安全和常見的做法。
  3. 使用chrome.tabs.executeScript方法

    • 如果你的擴展需要在特定時刻向網頁注入JS代碼,可以使用chrome.tabs.executeScript方法。
    • 這個方法允許你指定要在哪個標簽頁中執行的代碼,以及是否要注入文件或代碼字元串。
    • 例如,要注入一個JS文件,可以這樣使用:javascriptchrome.tabs.executeScript; 如果要注入代碼字元串,可以這樣使用:javascriptchrome.tabs.executeScript;'});
  4. 注意事項

    • 許可權聲明:在manifest.json文件中,你需要聲明要注入JS代碼的網頁的匹配模式,以及是否需要"activeTab"或"tabs"許可權。
    • 安全性:確保注入的JS代碼是安全的,避免執行不受信任的代碼,以防止跨站腳本攻擊。
  5. 參考代碼示例

    • 以下是一個簡單的示例,展示了如何使用chrome.tabs.executeScript方法向當前活動的標簽頁注入一個JS文件:javascript// 在背景腳本或彈出頁面腳本中chrome.tabs.query {chrome.tabs.executeScript { console.log;});});總結:Chrome插件可以通過內容腳本、動態載入JS文件或使用chrome.tabs.executeScript方法向網頁注入JS代碼。在實際開發中,應根據具體需求選擇合適的方法,並確保代碼的安全性和穩定性。
閱讀全文

與chromejs讀取目錄相關的資料

熱點內容
蘋果手機如何修改文件名稱 瀏覽:932
編程m27是什麼意思 瀏覽:790
threejsload 瀏覽:356
紅米手機文件夾哪些是照片視頻 瀏覽:19
ocx文件是什麼文件 瀏覽:183
迷你科羅納升級 瀏覽:811
做一份工藝文件多少錢 瀏覽:324
編程中的g什麼意思 瀏覽:818
bin文件用什麼寫 瀏覽:217
chromejs讀取目錄 瀏覽:842
蘋果qq上的文件保存到手機哪裡了 瀏覽:182
lol英雄數據網站怎麼打不開了 瀏覽:884
vb文件轉二進制文件格式 瀏覽:753
java中map的key可以有哪些類型 瀏覽:812
曲線數據選擇如何選兩組不同數據 瀏覽:102
jsp對文件重命名 瀏覽:171
excel如何判斷指定文件夾 瀏覽:740
為什麼app更新了完了總是閃退 瀏覽:661
三星note5軟體備份工具 瀏覽:593
ns硬破大氣層游戲放哪個文件夾 瀏覽:926

友情鏈接