修改交叉表通信的GM_setValue和GM_getValue:如何访问 Firefox 首选项变量
Modify GM_setValue and GM_getValue for cross-tab communication : How to access Firefox Preferences variables?
>我有一个与我的 GM 用户脚本相关的新问题。
此脚本的目的是从外部域检索数据。我在 Firefox 上的第一次尝试促使我设计了一个页面,其中我的表单要填充,iframe 嵌入外部页面。通过使用 setInterval 并确定它是顶部窗口还是我们在 iframe 中,我成功地使用 GM_setValue 和 GM_getValue 来获取数据。
但是使用IE(IE7PRO),我发现我能够将我的脚本分成两个脚本:一个只处理表单,另一个处理外部域。IE7PRO提供了等效的功能(PRO_getValue和PRO_setValue),可以在产品的任何选项卡/页面上检索。唯一的区别是它可以跨表/页面工作,所以我不必在我自己的页面上包含 iframe,我可以为外部域打开它自己的选项卡,这大约是一百万倍(至少......
我在Firefox上尝试了相同的方法,但显然不起作用。我已经浏览了这些功能的文档,似乎在Firefox中,数据存储在首选项(about:config to access)中。
那么,有没有办法修改GM_getValue,添加参数,因为值与此模型一起存储: greasemonkey.scriptvals.namespace/script_name.value_name
有没有办法在Firefox,Greasemonkey用户脚本/Javascript中访问首选项的值,语法是什么?
谢谢 ;-)
如果我理解你的问题是正确的,你几乎会做你在IE中已经做的事情:在每个选项卡中运行一个用户脚本。
GM_[gs]etValue
跨表和跨页工作。值按用户脚本存储。
因此,您需要做的就是在两个选项卡中运行相同的用户脚本,然后简单地让它根据检查来执行不同的操作window.location.href
。
目前,唯一的方法是制作一个在两个页面上运行的脚本.
您可以通过添加 if 语句来区分它们,如之前由 Wimmel.
所述但是,您可以考虑使用 unsafeWindow 在全局范围内添加数据,并将代码分成 2 个脚本,但两个脚本的执行顺序会影响结果。
- 访问布局信息是否也会导致浏览器重排
- Javascript,访问一个主要对象模块模式中的每个对象
- 如何访问声音管理器2创建的声音对象
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- JavaScript Pub/Sub属性访问问题
- 从JavaScript访问struts操作中的属性
- 是否可以从父类访问子类的属性
- 如何访问fastOpt.js
- 访问JSON对象内部的数组元素
- 从模块内部访问Express装载路径
- 难以访问的JS环境中的语法错误
- 如何从对象的原型方法访问JavaScript对象属性
- 访问json数组中的对象
- 通过javascript/html访问twitter共享iframe
- Dojo:访问dijit.form.Select中单击的项目
- 为什么在这个网站上不能通过JS访问元素
- 从ng模板访问作用域
- 如何访问UIWebView'的子窗口上下文
- 使用Javascript获取Twitter访问令牌
- 访问jsrender模板中的全局javascript变量并更新它