我已经做了一个脚本,在Firefox上运行没有任何问题。我正在使用setInterval()从iframe中的外部域检索一些数据,以便将它们插入到页面中
我试过使用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,也许这不是最好的解决方案,有什么建议我应该更好地使用哪个插件来实现这些功能?
发布于 2011-05-17 23:50:48
嗯,在尝试了许多解决方案之后,我终于找到了答案。
我使用的是IE7PRO,它包含函数PRO_setValue和PRO_getValue,运行良好。
我的问题是,我试图访问iframe上的外部域,这显然不受IE7PRO的支持。
我刚刚将我的脚本拆分为两个用户脚本:一个用于我的域,用于检查是否有新的PRO_getValue可用,另一个用于外部域,用于保存数据。一个标签用于我的页面,一个用于另一个,令人惊讶的是,它的效果就像一个护身符。
这在Trixie或GM4IE上似乎是不可能的,唯一不方便的是IE7PRO很重,因为GM脚本支持只是这个扩展的一小部分。
https://stackoverflow.com/questions/5967240
复制相似问题