我们可以在浏览器中加载的任何网页中插入javascript吗

我们可以在浏览器中加载的任何网页中插入javascript吗,javascript,Javascript,我正在研究将javascript注入浏览器中加载的任何网页的方法,以便能够遍历页面的DOM。我使用JQUERY满足我的脚本需求。 方法应该适用于所有浏览器 我试着使用IFRAME并在其中添加一些html,但我做不到。请提出一些建议。看一下和 或者,您可以简单地向文档中添加标记: $("head").append('<script src="..." type="text/javascript"></script>'); $(“head”)。追加(“”); 这将加载ja

我正在研究将javascript注入浏览器中加载的任何网页的方法,以便能够遍历页面的DOM。我使用JQUERY满足我的脚本需求。 方法应该适用于所有浏览器

我试着使用IFRAME并在其中添加一些html,但我做不到。请提出一些建议。

看一下和

或者,您可以简单地向文档中添加
标记:

$("head").append('<script src="..." type="text/javascript"></script>');
$(“head”)。追加(“”);

这将加载javascript文件。

您不能在不控制其内容的任意网页上运行javascript。如果这不是真的,那将是一个巨大的安全漏洞


考虑一下:您可以运行Javascript,等待有人登录到他们的网上银行,然后对输入的字符执行操作。

尝试使用Greasemonkey:。您可以使用它在页面加载时为您想要的任何网站执行自定义脚本。您可以在这里找到一些基本教程:。

我建议创建一个包含两个iFrame的页面,一个用于导航到指定网站,另一个用于获取DOM对象。 在第一个窗口中,导航到该站点,然后选择其HTML和 将其附加到第二个Iframe的主体中

iframe2.contentWindow.document.body.innerHTML = iframe1.contentWindow.document.body.innerHTML

然后使用自定义函数遍历第二个Iframe中的DOM对象,您可以创建一个bookmarklet(请参见),该bookmarklet可以向页面添加一个节点,src指向您自己的javascript所在的位置。一旦脚本节点被添加,它将运行。
您可以在“如何工作?”下找到更多详细信息。通过这种方式,你可以在书签栏中添加书签,当你点击它时,它会将你的脚本添加到你所处的任何页面。

我正在使用Chrome为一个特定的网页添加自定义脚本,这非常棒,我真的可以推荐它。

有几种方法可以解决这个问题

使用BookMarklet 您可以创建一个简单的bookmarklet,它在页面上注入jQuery,您可以在您喜欢的浏览器中打开Dev控制台,并使用jQuery或任何您想尝试的工具来尝试DOM检查

使用请求的Chrome扩展 您可以使用在任何网页上插入脚本。因为您的帖子提到您需要jQuery,所以Requestly也提供了一个包含jQuery的选项

因此,只需单击一下,就可以编写支持jQuery的代码,而不用担心jQuery将如何出现在页面中。查看以下屏幕截图以供参考:-

脚本规则选择

jQuery支持的示例脚本

优势 使用

  • 您可以使用与其他用户共享脚本
  • 默认情况下支持jQuery
  • 创建规则后,您只需在不使用它时将其禁用即可
  • Requestly在Firefox和Chrome上都可用,因此您可以跨浏览器运行脚本
  • PS:这可能是一篇较老的帖子,但在这里回答,因为这个问题仍然相关。
    免责声明:我是Requestly的创始人,如果你不喜欢某样东西,你会责怪我。

    如果我理解正确,你想在任何浏览器中使用的任何网站上执行javascript代码。这意味着您必须逐个浏览器访问不同的应用程序。在chrome中支持与firefox、edge相同的扩展,safari浏览器支持附加组件。您可以添加相关的扩展来实现这一点。我使用的是一个扩展,每当我使用脚本中给定的相同URL打开页面时,它都可以运行给定的脚本。同样,你必须为不同的浏览器找到不同的应用程序。

    你的意思是,你有一个网页和一个Iframe在其中,当一个页面加载到Iframe中时,你想在其中遍历DOM吗?看一看,我一直在寻找可以做到这一点的方法,谢谢。我倾向于使用Safari,但发现了一个允许运行一些Greasemonkey脚本的插件。希望它也能用于Chrome。chrome的Requestly扩展不会离线运行,它会将您带到他们的网站来设置规则。我觉得这样做不安全。@Shayan-我是Sachin,创始人@Requestly。我们只是使用我们的webapp来配置规则,因为它只是使开发和部署更容易。至少,我们非常重视隐私。这在每个术语中都是非常安全的,我们将您的所有数据存储在您的浏览器中。请随时联系我们,讨论任何问题contact@requestly.ioJust为了澄清这一点:您在一个网页中提供的Javascript不能在另一个域中的另一个网页上运行(请参阅评论中的XSS链接)。但是,出于您自己的本地需要,您可以在浏览器加载的任何页面上运行javascript,可以通过浏览器的javascript控制台或其他工具(如Greasemonkey)。您确定吗。因为我已经通过chrome在amazon上运行了脚本,从一次闪电销售中获得了一个产品,并且也成功地获得了它。@AndrewShooner请看这个。我的朋友用这个脚本得到了这个电话,我可以确认他成功地得到了它。是的,这正是我试图澄清的一点:你可以在浏览器加载的DOM上本地运行任何你想要的javascript(使用javascript控制台或其他方法),但是浏览器的单源策略禁止执行从不同域下载的javascript,而不是加载它的页面,除非您使用诸如JSONP或CORS之类的方法。@AndrewShooner但这可能会导致DOS攻击,这就是我不同意回答的原因这很酷。我刚开始使用Requestly,但我不知道如何运行页面或收集结果。@trevordekoek您介意在contact@requestly.in如果有更多的细节,我很乐意帮助你。您可以直接打开“规则”页面,然后单击“添加”按钮创建新规则。