压制同源政策

时间:2009-11-18 14:45:11

标签: javascript iframe same-origin-policy

我有一个“工具栏”,在窗口顶部显示一些代码,然后我用外部网站加载iframe。我意识到我无法获得用户所在的活动链接,因为它违反了相同的原始政策。

有没有办法(使用greasemonkey?)我可以获得外部iframe的活动网址?

我需要这样做才能用于演示目的,而不是用于任何实际操作。 (我意识到真正的解决方案是通过我自己的服务器处理整个页面)

谢谢!

1 个答案:

答案 0 :(得分:0)

我会发布一个我写的解决方法: 如果你安装了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)使用某种类型的事件触发器进行计时。 祝你好运!