我制作了一个在Firefox上没有故障的脚本。我正在iframe中从外部域中检索一些数据,以使用setInterval()
将它们插入到页面中我曾尝试使用Trixie,因此它在IE中运行,但似乎没有定义函数GM_getValue和GM_setValue。
我已根据Cookie添加了这些替换功能,但我无法以跨域方式使用它:http://www.howtocreate.co.uk/operaStuff/userjs/aagmfunctions.js
创建cookie并存储数据,但只能从iframe访问,而不能从顶层文档访问。
这是我使用的基本结构:http://www.pastie.org/1889407
在test()中,我可以访问存储在GM_getValue(“destination”,“”)中的值,但它在函数check()中不起作用。
1)有没有办法让cookie跨域?
2)是否有其他方式以跨域方式在IE中存储数据? (我简要地听说过Flash对象,但它似乎不是一个很轻的解决方案......)这些函数的其他实现(getValue和setValue)很难找到。
3)我正在使用Trixie,也许这不是最好的解决方案,对于我应该更好地使用什么插件的任何建议,有这些功能?
答案 0 :(得分:2)
嗯,在尝试了很多解决方案之后,我终于找到了答案。
我使用IE7PRO,其中包含PRO_setValue和PRO_getValue函数,它们的工作正常。
我的问题是我试图访问iframe上的外部域,IE7PRO显然不支持。
我只是将我的脚本分成两个用户脚本:一个用于我的域,用于检查新的PRO_getValue是否可用,另一个用于外部域,用于保存数据。我的页面有一个标签,另一个用于另一个标签,令人惊讶的是,它有点像魅力。
使用Trixie或GM4IE似乎不太可能,唯一不方便的是IE7PRO很重,因为GM脚本支持只是此扩展的一小部分。