【问题标题】:depress same origin policy取消同源政策
【发布时间】:2010-12-17 21:48:57
【问题描述】:

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

有什么方法(可能使用greasemonkey?)我可以获得外部iframe的活动网址吗?

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

谢谢!

【问题讨论】:

  • 使用 Chrome 上的扩展程序轻松完成。
  • 一个我会写的扩展,或者一个可用的?
  • ... 你会写的。 Chrome 目前还没有那么多。

标签: javascript iframe same-origin-policy


【解决方案1】:

我将发布我写的解决方法: 如果你安装了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) 使用某种类型的事件触发器在本地框架上完成此操作。 祝你好运!

【讨论】:

    猜你喜欢
    • 2011-08-17
    • 2012-11-14
    • 2015-08-19
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    相关资源
    最近更新 更多