【问题标题】:Is it possible to inject a content-script into a web page without a browser extension?是否可以在没有浏览器扩展的情况下将内容脚本注入网页?
【发布时间】:2021-03-12 03:43:44
【问题描述】:

我知道这是一个可疑的问题,并且我保证我没有恶意 - 我希望得到一个答案,以防止使用它对供应商的域进行钓鱼攻击。

目前我习惯于编写私有 Chrome 扩展程序,通过在某些域上注入 JavaScript 内容脚本来“修复”我经常访问的网站的限制(例如在我的 YouTube 订阅中添加文件夹/类别标签)。

这些增强功能在移动设备上不可用,因为您无法使用浏览器扩展。我很想将我的增强功能添加到我的移动浏览器,但不知道如何注入我的内容脚本。

我想不可能将 JavaScript 添加到 URL 中,因此我无法将内容脚本添加到我的书签中。例如

https://google.com;javascript:alert(42)

我在想我可以设置一个位于它自己的域上的 http 代理,例如:

https://youtube.enhanced.app

并且此代理拦截 index.html 并注入增强的内容脚本(使其成为可安装的 Web 应用程序并修复 UI 问题)。但是当然,我必须支付供应商页面的带宽,同时也不能从他们的缓存和优化中受益。

我有没有其他方法可以实现这一目标?

【问题讨论】:

    标签: javascript web


    【解决方案1】:

    您可以使用在移动设备上运行的自定义浏览器来做到这一点。 Tampermonkey 可能是在其他人的页面上运行客户端编写的 JS 的最常用工具(有些人可能会发现它比自己编写多个成熟的扩展更容易使用)。 Tampermonkey 也作为 Android 的移动浏览器存在,尽管它的可用性值得商榷:

    https://play.google.com/store/apps/details?id=net.biniok.tampermonkey&hl=en&gl=US

    https://play.google.com/store/apps/details?id=net.tampermonkey.dolphin

    您基本上只需输入或粘贴您要运行的 JS,当您访问与 URL 匹配的页面时,它会自动运行。如果您想走这条路,您可能会发现 Android Debug Bridge 对解决问题非常有帮助。

    【讨论】:

    猜你喜欢
    • 2014-03-20
    • 2011-02-09
    • 1970-01-01
    • 2011-03-04
    • 2015-08-26
    • 2023-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多