Chrome 内容脚本未在 about:blank 页面中加载

2023-12-01

我正在开发一个 Chrome 扩展,它将根据以下清单加载内容脚本:

"content_scripts" : [
    {
      "matches" : [ "<all_urls>" ],
      "js" : [  "scripts/namespace/namespace.js",
                "scripts/log/Logger.js"]
       "run_at" : "document_start",
       "all_frames" : true
     }
]

有一个样机网站,其 HTML 为:

<html>
<head>
<script language=javascript>
    var test;

    function makewindow() {
        test=window.open('mywin');
        test.window.document.write("<html><body><A onclick=window.close(); href= > click Me to Close</A>");
        test.window.document.write(" ---- </body></html>");
    }
</script>

</head>
<body>
<a href="" onclick="makewindow();return false;" >Click me to launch the external Window</a>
</body>
</html>

如果我单击 A 链接,它将运行makewindow函数并弹出一个新窗口。

新窗口的URL是about:blank,并且内容脚本未加载到此新窗口中。

如何在这个新窗口中加载内容脚本?


Update: As of Chrome 37 (August 26, 2014), you can set the match_about_blank flagDoc to true to fire for about:blank pages.

See alib_15 的回答 below.



对于版本 37 之前的 Chrome:

您无法加载 Chrome 内容脚本(或用户脚本)about:blank pages.

这是因为about:不是“允许的计划”之一。从镀铬扩展匹配模式:

匹配模式本质上是一个以许可计划 (http, https, file, ftp, or chrome-extension)...


在这种情况下,你might最好不要劫持makewindow().

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome 内容脚本未在 about:blank 页面中加载 的相关文章

随机推荐

  • 为给定嵌套变量的出现创建编号序列

    我希望向数据集中添加一个变量 该变量对某个分组变量出现的实例进行排序 例如 ids lt c rep 1 4 rep 2 6 rep 3 2 我想要另一个变量来计算每个 id 出现的实例数 创建一个像这样的向量 1 2 3 4 1 2 3
  • 从命令行将参数传递给可执行文件[重复]

    这个问题在这里已经有答案了 我正在尝试从命令行将参数传递给 Fortran 可执行文件 用 C 语言实现此目的的示例程序是 取自here include
  • 由于下列问题,存档提交失败。错误 ITMS-90039

    我从 xcode 将应用程序上传到应用程序商店时遇到错误 类型不匹配 info plist 键 UILaunchImageName 的值不是该键所需的类型 更新 xcode 7 后出现此错误 只需从 info plist 文件中删除 UIL
  • 如何解决点击事件被触发两次的问题?

    我有一个一页应用程序 它使用backbone js 通过鼠标触发一次单击事件 通过触摸设备触发点击事件两次 取消绑定一键事件会在触摸设备上停止 我不知道从哪里开始寻找 这是JS classy on click button function
  • Python基于多种条件的随机样本选择

    我想在 python 中从以下 df 中进行随机样本选择 使得结果样本中至少 65 的颜色应为黄色 并且所选数量的累积总和应小于或等于 18 原始数据集 Date Id color qty 02 03 2018 A red 5 03 03
  • EF 4.1:为什么将常量转换为变量会导致额外的子查询?

    今天我发现实体框架向它生成的 SQL 添加了不必要的子查询 我开始挖掘我的代码 试图缩小它可能来自的范围 过了 很长 一段时间后 我查明了造成这种情况的原因 但现在我比开始时更困惑 因为我不知道为什么会导致这种情况 基本上我发现 在某些情况
  • 在 PySimpleGUI 中渲染 HTML?

    有谁知道是否可以让 PySimpleGUI 渲染 HTML 我并不想要一个成熟的浏览器 只是一个位于 PySimpleGUI 窗口中的 HTML 查看器 我知道 tkinter 有一个名为tk html widgets 我也在调查什么web
  • 就地编辑 CMS 建议 [关闭]

    Closed 这个问题是无关 目前不接受答案 我需要找到一个 非常 易于使用 对于编辑 作者 的 CMS 最好使用类似的就地编辑SiteCore 不过 我们不需要像 SiteCore 这样庞大而强大的东西 用户需要能够添加页面 使用我们在开
  • SignalR 应用程序无法在 IIS 下运行

    我正在尝试在 Visual Studio 2012 中构建 SignalR 应用程序 我的问题是它在 Visual Studio 调试下运行良好 在 Windows 7 上使用 Visual Studio 2012 但是当我尝试在 Wind
  • 在QML插件的QGLWidget上渲染QImage

    我正在尝试写一个QML插件从视频中读取帧 使用自定义小部件来执行该任务 而不是 QtMultimedia Phonon 并且每个帧都转换为QImageRGB888 然后显示在QGLWidget 出于性能原因 现在屏幕上没有任何内容 并且屏幕
  • 比较盒装长整型值 127 和 128

    我想比较两个Long对象值使用if状况 当这些值是小于 128 the if条件工作正常 但当他们大于或等于128 比较失败 Example Long num1 127 Long num2 127 if num1 num2 Works ok
  • 运行时错误:populate() 在 Django 中不可重入

    我正在尝试部署django网站 项目名称是pom 我尝试使用 apache2 在 ec2 服务器中运行 django 网站并收到以下错误 阿帕奇错误文件 Fri Jul 24 12 37 33 621285 2015 info pid 20
  • 为什么多维数组中需要更高维度的维度范围?

    根据该帖子 将 2D 数组传递给 C 函数 int array 10 10 void passFunc int a 10 lt Notice 10 here passFunc array 从编译器内部的角度来看 为什么需要这个更高的维度 另
  • 奇怪地使用方括号来调用函数

    使用方括号调用函数是如何工作的 100 toString function toString native code 100 toString length 1 这里到底发生了什么 这是括号表示法 任何属性都可以使用点或方括号表示法来访问
  • 减小图像的文件大小

    我用安卓相机拍了一张照片 结果是一个字节数组 我通过将其写入SD卡 FileOutputStream 来保存它 结果是文件大小接近 3mb 的图像 我想减小此文件大小 因此压缩图像 如果在将字节数组写入输出流之前能够减少文件大小 那就太好了
  • 让你的程序使用 GUI

    我想编写一个程序 能够通过控制鼠标 键盘并能够 查看 屏幕上的内容来 使用 其他程序 I used AutoIt做类似的事情 但有时我不得不作弊 因为语言不是那么强大 或者也许只是我很糟糕 我无法用它做那么多 P 所以 我需要 截屏 然后我
  • IntelliJ:将 jar 包含在 jar 工件中

    使用 IntelliJ 9 0 2 Community Edition 在 Mac 上进行开发 我有一个程序依赖于两个库罐子 我已经弄清楚如何让 IntelliJ 为我的源代码制作一个 jar 使用 Artifact 选项卡 甚至将两个 j
  • 如何重写此查询以避免错误:您无法在 FROM 子句中指定用于更新的目标表

    update websites set master 2 where url select url from websites where id 12 显然 mysql 不允许您对正在更新的表运行选择查询 将其放入派生表中 这会具体化为临时
  • 接口没有构造函数,那么如何继承呢?

    据我所知 子类构造函数通过使用调用超类构造函数super 但既然接口没有构造函数 那么如何实现继承呢 但是由于接口没有任何构造函数 如何进行继承 很简单 接口不能有任何实例字段 因此无需构造任何内容 您无法将代码放置在接口中 至少在 Jav
  • Chrome 内容脚本未在 about:blank 页面中加载

    我正在开发一个 Chrome 扩展 它将根据以下清单加载内容脚本 content scripts matches