- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我注意到将 CSS 注入(inject)第三方页面的预期方式似乎无法正常工作。
相关的manifest.json部分:
"content_scripts": [
{
"matches": ["*://*.youtube.com/watch?v*"],
"css": ["css/youTubeInject.css"],
"all_frames": true,
"js": ["js/thirdParty/underscore.js", "js/thirdParty/jquery.js", "js/youTubeInject.js"]
}
]
在这里,我声明我想将一些 CSS 和一些 JavaScript 注入(inject)到与 YouTube 正则表达式匹配的页面中。
我的 JavaScript 注入(inject)一切正常。我的 CSS 根本没有注入(inject)。我已经三重检查了文件位置和名称。
youTubeInject.js 的顶部包含:
$(function () {
var style = document.createElement('link');
style.rel = 'stylesheet';
style.type = 'text/css';
style.href = chrome.extension.getURL('css/youTubeInject.css');
document.head.appendChild(style);
这会导致我的 CSS 正确加载,并且是解决该问题的有效方法。
有人对此问题有任何建议或我可以跟踪的错误吗?我们将不胜感激!
最佳答案
Chrome 在检查是否必须应用 list 文件中声明的 CSS 文件时,似乎会忽略查询字符串和位置片段。
http://www.youtube.com/watch?v=VIDEOID
被视为http://www.youtube.com/watch
。
您的匹配模式包含查询字符串的一部分,这会导致模式根本不匹配。
目前,“matches”的行为不一致:
Documentation Pattern : https://*.google.com/foo*bar What it does: Matches (...) path starts with /foo and ends with bar"js" in manifest file Checks if pattern matches scheme://host/path?querystring Example : https://google.com/foo?bar Non-example : https://google.com/foobar?"css" in manifest file Checks if pattern matches scheme://host/path Example : https://google.com/foobar?thisisignored Non-example : https://google.com/foo?barIn all cases, the location fragment (aka location hash) is ignored.
此错误已在 2 年前报告过,但没有及时发现:
还有另一个错误,可能相关,它有更多的关注者:
关于javascript - CSS 注入(inject)在 content_scripts 中使用声明失败,但在通过注入(inject)的 JavaScript 加载时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17058263/
这不是重复,我已经检查过问题 Chrome extension: Modifying the content of a webpage 但它没有回答我的问题,因为我只想在特定时间阻塞,因此阻塞/不阻塞
我正在开发一个扩展程序,希望使其与我的网站进行交互。但是当我尝试调用位于“content_script.js”文件中的函数时,它说该函数未定义! 最佳答案 第 1 步:了解 isolated cont
我正在尝试制作一个 Chrome 扩展程序,它将在我的 Gmail 中显示一个弹出窗口,其中包含来 self 的外部服务器的一些信息,例如今天的天气。 我尝试过的 我尝试将 js 包含在 chrome
我有这个简单的扩展,它在 chrome 的工具栏上显示图标并显示启用/禁用按钮。我想向按钮添加功能以禁用或启用在访问谷歌网站时触发的 content_script.js: 弹出窗口 var setLa
我有一个简单的 manifest.json,但出于某种原因,我一直遇到这个错误 无法为内容脚本加载 JavaScript“content_script.js” 一旦我添加 content_script
我对制作 Chrome 扩展程序很陌生,我会尝试一些东西: 我将把 JS 变量从“browser_action”发送到“content_scripts” "browser_action": {
我正在开发 Chrome 扩展,我需要将 javascript 文件加载到内容脚本,但该文件是通过 webpack-dev-server 提供的。所以它只能在本地主机上使用。 我尝试更改我的 mani
最初在这里发布这个问题: https://groups.google.com/a/chromium.org/d/msg/chromium-extensions/wbSpXvnO10A/nov36skm
我刚刚开始使用 JavaScript,正在尝试修改 MDN 教程中的脚本,Your First WebExtension 我正在尝试在网页周围绘制红色或蓝色框,具体取决于它是 http://还是 ht
我认为这是一个经常被问到的问题,但我找不到答案。有没有办法让 Chrome 扩展程序使其浏览器操作弹出窗口仅在 content_scripts 匹配页面上可用? 例如:我为一个网站做了一个扩展。我希望
最近,我制作了一个 Chrome 扩展来强制所有网页使用给定的字体。它曾经工作得很好,但从昨天(也许更早)开始就停止工作了。 扩展的关键代码是: manifest.json file content:
我正在编写一个包含 content_script 的小型 Chrome 扩展程序。 它将在单个域上运行,我正在尝试稍微改进一个站点。 我想在我的内容脚本中使用 jQuery,但是网站也使用 jQuer
我有一个测试 Chrome 扩展程序,运行于 。它运行一个仅写入域的 content_script。 它在所有情况下都工作正常,除非我编写不存在的域。 扩展的目的是在特定域上运行,无论发生什么情况。
我正在开发一个供个人使用的扩展程序,它只会自动重复网站 A 上的某些操作。这基本上是我想使用 Chrome 扩展程序自动化的流程: 触发按钮点击事件。 打开一个新的弹窗(由网站A打开)。 在打开的窗口
我想将一个已保存的变量从内容脚本传递到弹出页面,这样我就可以简单地输出它。例如,如果我的内容脚本具有以下代码: var x = 'abc'; 我希望弹出窗口标题如此可变。 最佳答案 有几种方法可以做到
我是 javascript 的新手,正在尝试学习 Chrome 扩展程序。我搜索了我能想到的问题的所有变体,但我找到的答案不适用于我的特定问题。我已经阅读了 chrome 扩展的教程,但我认为应该有效
如何更改在 content_scripts (manifest.json) 中声明的 CSS 文件? 我需要将它从 background.js 更改(style.css 到 style2.css) 有
我正在尝试学习如何使用 content_script.js 将请求发送到我的 chrome 扩展程序的后台页面。我读过很多关于此的答案,但没有一个对我有帮助。我似乎无法让监听器执行。 Manifest
到目前为止,我还没有在我的 Firefox 中安装任何插件,也没有使用任何额外的 JS 脚本,但我没有从启用此 content_script.js 的地方打印不必要的消息像这样的控制台: conte
我正在尝试从外部服务器加载 JS,以便可以更新和开发我的扩展程序,而无需更新 chrome 扩展程序。这是我目前的 list : { "name": "Test", "version": "1
我是一名优秀的程序员,十分优秀!