草庐IT

firefox-addon-restartless

全部标签

javascript - 无法在 Firefox 35 插件中创建内联 Web Worker

我正在开发一个基于XUL的Firefox扩展。我正在尝试使用BLOB创建一个内联WebWorker。该代码曾在Firefox33中运行,但在更新到Firefox35后出现错误。这是一个代码示例:try{varblob=newBlob(["functionf(){}"],{type:"application/javascript"});varurl=window.URL.createObjectURL(blob);//blob:null/371e34bd-1fbf-4f66-89cc-24d0c1c7bad5returnnewWorker(url);}catch(e){console.e

javascript - firefox 扩展通过 sdk 工作,但在浏览器中安装时不工作 - 兼容性问题?

---更新----在对此进行更多试验后,我确定我编写的contentScript不是这里的问题。例如,如果我将扩展名缩减为:varbuttons=require('sdk/ui/button/action');vardata=require("sdk/self").data;varself=require("sdk/self");varbutton=buttons.ActionButton({id:"library-link",label:"ExternalResourceLocator",icon:self.data.url("icon-16.png"),});当我通过SDK运行扩展

javascript - 如果窗口作为选项卡打开,则 window.close 不起作用 (Firefox 47)

vargoogle_login_popup="";varsocial_google_login=function(){google_login_popup=window.open('www.google.com',"google_popup",'width=800,height=600');};social_google_login();setTimeout(function(){google_login_popup.close();},1000);它在新的TAB中打开弹出窗口-而不是窗口。但是.close()不会关闭窗口。这应该有效,因为打开窗口的脚本也在尝试关闭它。请注意,这仅适用

javascript - Firefox 插件面板可以确定何时显示和隐藏吗?

我正在使用ToolAPI将面板添加到FirefoxDevTools。我可以定义setup()和dispose()方法来处理初始化和拆卸。但是我不知道如何确定面板当前是否可见,或者何时更改可见性。这个事件是否暴露在某处?明确地说,我只想知道我的面板。所以我想知道我的面板何时可见,或者用户何时切换到例如元素选项卡。 最佳答案 dev/panelAPI当面板的可见性发生变化时,不会公开通知您的方法。但是,您可以绕过API并获悉可见性已更改。当扩展程序在开发人员工具箱中创建的面板的可见性发生变化时,下面的代码将调用函数panelVisibi

javascript - 为什么 setTimeout(.., 0) 在 Firefox 中的浏览器操作之前触发?漏洞?

我有一个input.onkeydown处理程序,我在setTimeout(..0)之后检查了input.value。我希望input.value在setTimeout回调运行时具有新值。在除Firefox之外的所有浏览器中都是如此。在Firefox中,情况并非总是如此。要检查的代码是:input.onkeydown=function(){setTimeout(()=>this.value=this.value.toUpperCase());};演示:http://plnkr.co/edit/rZmiHdttSXNdpKkR8YbH?p=preview因为我在setTimeout(..0

javascript - Internet Explorer/Firefox 中的硬刷新和 XMLHttpRequest 缓存

我发出一个Ajax请求,在其中设置响应缓存能力和最后修改的header:if(!String.IsNullOrEmpty(HttpContext.Current.Request.Headers["If-Modified-Since"])){HttpContext.Current.Response.StatusCode=304;HttpContext.Current.Response.StatusDescription="NotModified";returnnull;}HttpContext.Current.Response.Cache.SetCacheability(HttpCach

javascript - JSON 文件的 XMLHttpRequest 在 Chrome 中完美运行,但在 Firefox 中不完美

我已将我的问题范围缩小到以下函数。这是我正在写的用户脚本的一部分。它在Chrome中完美运行,但在Firefox/Greasemonkey中根本不起作用。我整天都在修补它,但碰壁了。唯一有意义的是如果JSON.parse无法正常工作,这是有道理的,因为众所周知Chrome处理JSON.parse的方式有所不同......但我知道JSON的格式是完美的!functiongetTagline(){varjsonfile=newXMLHttpRequest();jsonfile.open("GET","http://example.com/somegood.json",true);jsonf

javascript - 与 'prototype'(Firefox 扩展)混淆

我正在开发一个firefox扩展,我想我现在遇到了一个关于Javascript的基本误解,准确地说是“原型(prototype)”概念。考虑以下最小示例,注意设置变量this.demo和this.test时的差异:varExample=newArray();Example.Foo=function(){this.test=null;this.demo="World";};Example.Foo.prototype={initialize:function(resource){this.test="Hello";this.display();},display:function(){al

javascript - javascript 或 firefox 中的 console.dir() 是异步的吗?

一个很奇怪的问题。在我的调试中,我发现console.dir(anArray)没有在浏览器的firebug控制台上输出当前值。例如,console.dir(anArray)//line1console.log(anArray[0].prop1)//line2codetochangethevalueofanArray[0].prop1//line3anArray是javascript/json对象的数组,在Firbug的控制台中,第1行输出了第3行设置的新值,第2行是旧值,是我想要的。唯一的解释是console.dir()是异步的,对吧?!我的环境:Windows7,Firefox6.0

javascript - 如何在 Firefox 中从剪贴板获取数据

我想在元素上触发onpaste事件以检索剪贴板中的数据(我想检查剪贴板中是否存在图像并将其上传到服务器)。它在Chrome上完美运行:$('#textarea')[0].onpaste=function(event){varitems=event.clipboardData.items;if(items.length){varblob=items[0].getAsFile();varfr=newFileReader();fr.onload=function(e){alert('gotit!');}fr.readAsDataURL(blob);}}不适用于Firefox:event.cl