当我尝试访问外部域上托管的一些CSS文件时,我在Firebug中收到此错误:
Security error" code: "1000
rules = styleSheets[i].cssRules;
Run Code Online (Sandbox Code Playgroud)
我使用的代码是:
$(document).ready(function () {
$("p").live('mousedown', function getCSSRules(element) {
element = $(this);
var styleSheets = document.styleSheets;
var matchedRules = [],
rules, rule;
for (var i = 0; i < styleSheets.length; i++) {
rules = styleSheets[i].cssRules;
for (var j = 0; j < rules.length; j++) {
rule = rules[j];
if (element.is(rule.selectorText)) {
matchedRules.push(rule.selectorText);
}
}
}
alert(matchedRules);
});
});
Run Code Online (Sandbox Code Playgroud)
有没有办法解决这个问题,除了移动同一域上的所有CSS文件?
我正在编写一个Google Chrome扩展程序,可在每个页面上运行内容脚本.在我的内容脚本中,我在页面中注入了<div>一些<ul>和<li>子项.我在样式表中为这些元素指定了几种样式.
但我发现在一些随机页面上我的元素将继承网页上定义的样式,因为我没有为我的div指定每个样式属性.
什么是我可以阻止我注入的元素继承这些样式的最佳方法?
在我看来,我可以:
<div>内心<iframe>.但是,我必须在我的内容脚本的iframe和源页面之间传递hella消息,因为chrome://我的iframe src 的URL 和源页面的URL http://将被视为跨源.