我有一个“工具栏”,在窗口顶部显示一些代码,然后我使用外部站点加载 iframe。我意识到我无法获取用户所在的事件链接,因为这违反了同源策略。
有什么办法(也许使用greasemonkey?)我可以获得外部iframe的事件url?
我需要这样做是为了演示目的,而不是为了任何实际目的。 (我意识到真正的解决方案是通过我自己的服务器处理整个页面)
谢谢!
最佳答案
我将发布我编写的解决方法: 如果您安装greasemonkey,请编写一个脚本(大致)执行如下操作:
current_link = document.location.href;
if(current_link !== 'http://my_local_site')
{
GM_setVal("link", current_link); }
让 Greasemonkey 在您的 iframe 网址、您的本地网站以及您的 iframe 网站上运行此脚本。 GM 会将链接保存到其内存中。如果您不触发 IF 语句,您可能正在从本地站点读取脚本,因此您需要:
unsafeWindow.urlVal = GM_getVal("link");
您现在需要做的就是获取本地框架和 iframe,以便每次在 iframe 上导航页面时运行脚本。 您可以通过 a) 计时 b) 使用某种类型的事件触发器在本地帧上完成此操作。 祝你好运!
关于javascript - 抑制同源政策,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1756496/