art*_*ave 26 css google-chrome cross-domain google-chrome-extension
我的chrome扩展程序需要修改用户页面上的某些css规则.document.styleSheets仅通过访问样式可以访问从同一域中链接的样式.document.styleSheets数组的其他元素已cssRules/rules设置为null.
为什么跨域政策适用于此?无论其来源如何,都会使用样式,那么重点是什么?以及如何解决这个问题?
编辑:
我需要修改用户css规则(而不是简单地添加我自己的规则)的原因是我需要保护扩展注入的自定义元素不受*规则的影响.看到这个问题的细节
与常规JavaScript相比,内容脚本没有任何跨域权限,因此任何限制都会被延续.参见相关问题#1,问题#2.
您可以在清单中注入自己的CSS样式:
"content_scripts": [
{
"matches": ["http://www.google.com/*"],
"css": ["mystyles.css"]
}
]
Run Code Online (Sandbox Code Playgroud)
您可以尝试通过定义具有更高特异性的规则来覆盖原始样式.
您还可以通过javascript 调整具体的元素样式:
document.getElementById("id").style.property="value";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6098 次 |
| 最近记录: |