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