2009-07-30 11 views
2

Ich habe eine Funktion, die die Schriftgröße zu ändern ist, bedeutet:Javascript Sicherheitsfehler 1000 beim Ändern der Größe Text

// 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 
    } 

Dies funktioniert, wenn das Stylesheet für im selben Verzeichnis wie die Seite sucht die Funktion ist befindet sich aber in einem separaten Verzeichnis - z ../js/js.js statt ./js.js - es führt den folgenden Fehler:

Security error" code: "1000 

Jede Idee, wie ich dieses Problem lösen?
Ich weiß nicht viel über Javascript und ich hoffe, es ist kein Fall von einfach "nicht erlaubt", aber wenn ja, was sind die sinnvollen Alternativen?

Dank

Antwort

3

Fehler 1000 in der Regel bedeutet, dass Sie versuchen, etwas in dem DOM zu ändern, die nicht erlaubt ist. Es scheint, dass Sie Stylesheets nur im selben Verzeichnis wie die Seite bearbeiten - es ist also wahrscheinlich ein Sicherheitsproblem. Wie beziehen sich die fraglichen CSS-Dateien - absolute Pfade, relative Pfade?

+0

Ich versuchte relativ und abolsute. –

1

Achtung:

Sicherheitsfehler "Code:" 1000 auch von Skype-Erweiterung für Firefox verursacht wird. Ich weiß nicht, ob es Skype-Addons für andere Browser gibt, aber wir wissen sicher, dass die Skype-Erweiterung für Firefox eine Menge Probleme verursacht, insbesondere auf Websites, die JavaScript verwenden, um Stile dynamisch zu ändern.

Entschuldigung für Englisch.

Verwandte Themen