8

我做了一个脚本,在Firefox上没有小故障运行。我从iframe中的外部域中检索一些数据,通过使用setInterval()将它们插入到页面中我试图使用Trixie,以便它在IE中运行,但似乎函数GM_getValue和GM_setValue是没有定义的。IE等价物GM_setValue和GM_getValue(Greasemonkey存储)

我已经添加了这些替代功能的基础上,饼干,但我不能让它在跨域的方式工作:http://www.howtocreate.co.uk/operaStuff/userjs/aagmfunctions.js

该Cookie创建,存储的数据,但它只是可从iframe访问,而不是从顶部文档访问。 这里是我使用的基本结构:http://www.pastie.org/1889407
在测试()我可以访问与GM_getValue(“目的地”,“”)存储的值,但它不能在函数check()中工作。

1)有没有办法让cookie跨域?

2)是否有其他方式以跨域方式在IE中存储数据? (我简单地听说过Flash对象,但它似乎不是一个很好的解决方案......)这些函数的其他实现(getValue和setValue)很难找到。

3)我正在使用Trixie,也许它不是最好的解决方案,我有什么建议,我应该更好地使用什么插件,有这些功能?

+2

由于跨域安全性,Cookie设计无法正常工作。 ...剩下的,你可以试试[“Greasemonkey for IE”扩展名](http://www.gm4ie.com/)。另外,请查看[IEScripts](http://iescripts.org/help/whatisiescripts.html)。 – 2011-05-11 23:11:03

+0

不幸的是,我已经测试了GM4IE,IE7Pro,并且他们没有提供任何这样的方法。我也看了IEScripts,但我能找到的只是基于cookie的解决方案。 – 2011-05-12 15:47:39

回答

2

那么,在尝试了很多解决方案之后,我终于找到了答案。

我使用了IE7PRO,它包含了功能PRO_setValue和PRO_getValue,这些功能结束后才能正常工作。

我的问题是,我试图访问外部域的iframe,显然不支持IE7PRO。

我刚刚将我的脚本分成两个用户脚本:一个用于我的域,它检查是否有新的PRO_getValue可用,另一个用于保存数据的外部域。一个用于我的页面的标签,另一个用于另一个标签,令人惊讶的是,它像一个魅力一样。

Trixie或GM4IE似乎不可能,唯一不方便的是IE7PRO很重,因为GM脚本支持只是这个扩展的一小部分。