使用书签修改当前页面并访问iFrame

时间:2012-10-08 16:32:47

标签: javascript bookmarklet

我一直致力于制作一个书签,对网页进行微小的更改,供我个人使用,因为我正在浏览网站。我有书签动态加载jquery(如果需要),可以访问和修改页面没有任何问题。

这个页面有几个嵌套的iFrame,我要修改的html是在一个iFrame中,它与原始页面有不同的域。所以我得到了:

Unsafe JavaScript attempt to access frame with URL

浏览器使用最顶层的页面作为我的脚本的原点,这很有趣,因为它的来源是书签。有可能绕过这个限制吗?

1 个答案:

答案 0 :(得分:1)

仅使用小书签无法绕过此限制。当您执行bookmarklet时,它将在当前(顶部)页面的上下文中执行。尽管限制被称为“同源策略”,但origin表示执行代码的上下文,而不是代码来源的起源。当您执行书签时,代码来自书签,但它在当前页面内执行。

要实现目标,您必须创建用户脚本或创建插件/扩展程序。如果您安装Greasemonkey并且本机安装在Chrome中,则Firefox支持用户脚本。

相关问题