我正在尝试使用WebExtensions结构为firefox编写一个小插件.
这个附加组件应该通过它的绝对路径读取本地文件内容:
"/ home/saba/desktop/test.txt"
的manifest.json
{
"manifest_version": 2,
"name": "Test - load files",
"version": "0.0.1",
"description": "Test - load files",
"permissions": [ "<all_urls>" ],
"background": {
"scripts": [ "main.js" ]
}
}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止尝试过的(在main.js中):
XMLHttpRequestfunction readFileAjax(_path){
var xhr = new XMLHttpRequest();
xhr.onloadend = function(event) {
console.log("onloadend", this);
};
xhr.overrideMimeType("text/plain");
xhr.open("GET", "file:///"+_path);
xhr.send();
}
readFileAjax("/home/saba/desktop/test.txt");
Run Code Online (Sandbox Code Playgroud)
失败.我无法弄清楚为什么它总是返回一个空响应
(test.txt包含"test",路径是正确的)
onloadend XMLHttpRequest {
onreadystatechange: null,
readyState: 4,
timeout: 0,
withCredentials: false,
upload: XMLHttpRequestUpload,
responseURL: "",
status: 0,
statusText: "",
responseType: "", …Run Code Online (Sandbox Code Playgroud) 请帮忙,我有这个案子:
switch(MyFoo()){
case 0: //...
break;
case 1: //...
break;
case 2: //...
break;
default:
// <HERE>
break;
}
Run Code Online (Sandbox Code Playgroud)
如您所见,开关直接从方法获取值而不将其保存为变量.
是否有可能获得哪种价值default?例如,如果MyFoo()返回7,我该如何获得该值?
我想避免将方法结果保存为变量,有没有办法从案例中获取开关值?像这样的东西:
default:
this.SwitchValue // <<--
break;
Run Code Online (Sandbox Code Playgroud)
谢谢你的阅读,〜萨巴
我正在寻找一个javascript代码(如果可能的话)来检查HTML文件是从远程主机还是从本地pc文件夹中启动/读取的.
..我用一个例子解释得更好:
我在C:/folder/file.html中有一个html文件, 如果我通过双击启动它,js脚本在文档上打印"从本地读取".
现在,如果我在我的网站上托管它,比如www.mydomain.org/file.html 并打开该页面,则js脚本打印"从在线阅读"
这将非常有帮助,谢谢你.