2 Stimmen

Merkwürdiger Fall von IE, der den Inhalt von <style> nicht anwendet

Ich schreibe JavaScript-Code, der auf zahlreichen Websites bereitgestellt wird.

Ja, wir sind ein Ad-Netzwerk. Wir sind die bösen Mächte des Internets.

Nichtsdestotrotz verwenden wir in der Regel folgenden Ansatz, um Styles zur Website hinzuzufügen:

var d = document.createElement('style');
d.type = 'text/css';
d.textContent = 'body {display: none!important; }';
document.getElementsByTagName('head')[0].appendChild(d);

Führen Sie dies über die js-Konsole aus, und die Seite sollte leer werden.

Außer wenn es nicht klappt.
Wir sind gerade auf einen solchen Fall gestoßen:
Internet Explorer 9 wendet den Style nicht auf der folgenden Seite an:

http://www.brigitte.de/mode/trends/deutscher-fernsehpreis-2012-1142578/

Die Seite wird im "IE9-Browsermodus" und im "IE9-Dokumentmodus" angezeigt. Beim Ausführen des Beispiel-Skripts mit aktiviertem Profiler werden keine anderen Skripte bei der Einfügung des <style>-Tags ausgelöst.

Ich brauche Ideen. Irgendetwas. Ist das ein seltener IE-Bug? Gibt es Workarounds, die ich versuchen könnte?


Bearbeitung:

Problem gelöst. Wir sind Opfer von IE's 31-Stylesheet-Bug geworden.

Kurz gesagt: Internet Explorer interpretiert nur bis zu 31 Stylesheets. Alle weiteren Styles werden verworfen. Ich werde betrunken. Schönes Wochenende.

1voto

Fusselwurm Punkte 198

Gelöst. Wir sind Opfer des 31-Stylesheets-Bugs von IE geworden.

Kurz gesagt: Internet Explorer interpretiert nur bis zu 31 Stylesheets. Alle weiteren Styles werden verworfen. Ich werde betrunken. Hab ein schönes Wochenende.

0voto

Blazes Punkte 4555

So fügen Sie Stil hinzu: http://jsfiddle.net/YqhDp/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X