javascript - 抑制同源政策

标签 javascript iframe same-origin-policy

我有一个“工具栏”,在窗口顶部显示一些代码,然后我使用外部站点加载 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/

相关文章:

javascript - JQuery 回调函数不起作用

javascript - 将多个 React 组件渲染到单个 DOM 元素中

javascript - 覆盖 div 的内联样式

same-origin-policy - QtWebkit 同源策略

java - GWT JUnit 测试 - 是否可以忽略同源策略

javascript - settimeout 后返回到多步最小形式的第一步

php - 将 cookie 设置到特定域

jQuery 视频点击

javascript - 在页面中包含 HTML 片段 - 方法?

javascript - getXDM 或 JSONP 使用哪一个来规避同源策略