javascript - 更改《每日邮报》链接的颜色在 Google 结果页面上不起作用

标签 javascript jquery google-chrome-extension

我有一个扩展,主要由以下部分组成(使用 jQuery):

$('a[href*="dailymail"]').css({'background':'#333'})

它在常规链接上运行得很好。

但是,它不适用于 Google 搜索结果,因为链接的 href 部分实际上是 google 重定向 URL,而实际 URL 位于 data-href 属性。

我的问题是

$('a[data-href*="dailymail"]').css({'background':'#333'}) 

不起作用。我是否在匹配属性/值或 Google 搜索结果页面等方面遇到问题?

TIA 提出任何想法。

最佳答案

您的问题可能出在代码执行时。

Google 页面动态加载其搜索结果(例如,用于即时目的)。如果您的代码在内容脚本中执行,则只能保证它在解析静态 DOM 后执行。

$(selector).css() 通过向代码运行时匹配的元素添加内联样式来进行操作。因此,结果(稍后添加)不受影响。

<小时/>

最明显的解决方案是简单地注入(inject) CSS,而不是 JS 代码:

"content_scripts" : [{
  "matches": ["*://*/*"],
  "css": ["dailymail.css"]
}]
a[href*="dailymail"], a[data-href*="dailymail"] {
  background: #333;
}

这应该足够具体以适用;如果没有,请尝试添加 !important

如果您想以编程方式控制它,请考虑向页面添加 <style> 元素。

或者,您也可以 watch the page for newly added links

关于javascript - 更改《每日邮报》链接的颜色在 Google 结果页面上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38522828/

相关文章:

javascript - IE <= 11 不喜欢 toString.call(value)

javascript - 使用 Javascript 搜索数组中的项目

google-chrome - gmail api返回查询参数之外的电子邮件

javascript - 使用扩展将按钮添加到文本字段 - 不可点击

JavaScript变量问题(变量如果存在就等于x,否则等于y)

javascript - 字符计数器 - 退格键不反射(reflect)剩余字符

javascript - 处理对 PHP url 的 AJAX 请求以获取 JSON 数据。我无法传递数据

javascript - 使用 JavaScript 自动提交 Php 表单

javascript - 单击按钮后如何隐藏按钮?

javascript - Chrome.Browser.Extension 错误 : Uncaught TypeError and Unchecked runtime. 最后错误: