Kann ich den HTML-Code einer Webseite vorab bearbeiten, bevor Javascript ausgeführt wird?

2

Ich sehe diese Website mit einem clientseitigen Javascript-Fehler, der durch das Laden der Skripte in der falschen Reihenfolge verursacht wird. Das Problem ist, dass ich diese Quelle nicht besitze, aber ich muss die Site so schnell wie möglich nutzen.

Gibt es einen Browser / ein Browser-Plugin, mit dem ich das Problem im Browser beheben und die Seite weiterhin verwenden kann? Das Problem ist, dass da diese in die geladen wird head Element, wenn ich das HTML ändere, ist der JS-Fehler bereits aufgetreten. Und wenn ich die Änderungen aktualisiere (zumindest in Chrom), sind meine lokalen Änderungen verschwunden.

Im Einzelnen sieht der HTML-Code folgendermaßen aus:

<script 
    language="javascript" 
    src="/scripts/util.js" 
    type="text/javascript"></script>
<script 
    language="javascript" 
    src="/scripts/scriptaculous/prototype.js" 
    type="text/javascript"></script>
<script 
    language="javascript" 
    src="/scripts/scriptaculous/scriptaculous.js" 
    type="text/javascript"></script>

Und um den Fehler zu beheben, müsste es so aussehen:

<script 
    language="javascript" 
    src="/scripts/scriptaculous/prototype.js" 
    type="text/javascript"></script>
<script 
    language="javascript" 
    src="/scripts/scriptaculous/scriptaculous.js" 
    type="text/javascript"></script>
<script 
    language="javascript" 
    src="/scripts/util.js" 
    type="text/javascript"></script>

Beachten Sie, wie die util.js nach unten bewegt.

Daniel Kaplan
quelle

Antworten:

1

Möglicherweise können Sie dies tun, indem Sie ein UserScript Damit wird das benötigte Javascript in der Reihenfolge geladen, in der Sie es benötigen. Ein Userscript kann im Wesentlichen jedes beliebige Javascript auf der Seite ausführen, einschließlich des Ladens von anderem Javascript. Die einzige Frage wäre, ob der Browser das Userscript vor oder nach dem Laden der anderen Skripte auf der Seite ausführt. Diese Stapelüberlauffrage scheint zu implizieren (2. Antwort), dass es einen Weg gibt, dies zu tun.

Ein einfaches Benutzer-Skript könnte die oben erwähnte Methode und die verwenden document.write Befehl zum Einfügen eines neuen <script> Element nach Bedarf, bevor die Seite andere Javascript analysiert.

nhinkle
quelle
Danke für die Hilfe. Dies ist der Weg, den ich gehe. Ist diese Frage besser für einen Stapelüberlauf geeignet?
Daniel Kaplan
1
@tieTYT Ich denke, die Frage ist für SU in Ordnung, da Sie anfangs gefragt haben, ob Ihr Browser etwas kann und dort könnte andere Antworten sein, die nichts mit Programmierung zu tun haben. Wenn Sie unterwegs auf zusätzliche Probleme stoßen, empfehle ich, zuerst nach SO zu suchen und dann dort eine Frage zu stellen, falls erforderlich.
nhinkle
1
Leider funktioniert ein User-Skript nicht, da Chrome dies nicht unterstützt document-start für die run-at Schlüssel, nur document-end.
Synetech
@Synetech hm. Ich gehe davon aus, dass der Benutzer Firefox wahrscheinlich nur für diese eine Seite verwenden könnte, aber das ist ein guter Punkt.
nhinkle