我有一个改变字体大小的函数:
// change the font size of the document
function changeSize(fontSize) {
var sheets = document.styleSheets; // Array of all stylesheets
for(var i=0; i < sheets.length; i++) { // For each stylesheet
var sheet = sheets[i];
// alert( sheets[i].title );
if(sheet.title == 'textSize') { // find the one called 'textSize'
// alert( "hello!" );
var rules = sheet.cssRules || sheet.rules; // Array of rules
var rule = rules[0]; // The first rule
// Should only be one rule, and it should be a one line font-size declaration
if(rules.length == 1 && rule.selectorText.match(/body/i) && rule.style.fontSize) {
rule.style.fontSize = fontSize;
return true;
}
else return false; // This is a bad stylesheet, return false
}
}
return false; // Haven't found the stylesheet - return false
}
如果它查找的样式表与该函数所在的页面位于同一目录中,但是如果它位于单独的目录中,则可行。 ../js/js.js而不是./js.js - 它会抛出以下错误:
Security error" code: "1000
知道我如何解决这个问题吗?
我不太了解javascript,我希望它不是一个简单的“不允许”的情况,但如果是这样的话,有什么明智的选择呢?
由于
答案 0 :(得分:3)
错误1000通常意味着您正在尝试更改DOM中不允许的内容。您似乎只在与页面相同的目录中操作样式表 - 因此它可能是一个安全问题。有问题的CSS文件如何引用 - 绝对路径,相对路径?
答案 1 :(得分:1)
注意:
安全错误“代码:”1000也是由Firefox的Skype扩展引起的。我不知道其他浏览器是否有Skype插件,但我们确信Firefox的Skype扩展会导致很多问题,尤其是在使用JavaScript动态更改样式的网站中。
抱歉英语。