我有一个扩展,主要由以下部分组成(使用 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/