erkennt und unterdrückt Fehler beim Laden von JavaScript-Dateien

8

Ich möchte eine Javascript-Datei von facebook Ссылка

beziehen

Die Organisation, für die ich arbeite, hat eine Firewall, die den Zugang zu Facebook blockiert, sie geht einfach auf eine HTML-Seite, die besagt "Zugriff verweigert blah blah blah"

Ich möchte in der Lage sein, ein JavaScript-src-Tag <script src="http://... "> </script> zu setzen und die Warnungen zu erkennen und zu unterdrücken, wenn der Browser versucht, den HTML-Code als Javascript auszuwerten.

Wer weiß wie?

    
Quinn Wilson 03.09.2010, 19:49
quelle

7 Antworten

2

Mit dem Standard-Tag <script> nicht möglich. Es läuft wirklich nichts, wenn der src des Skripts getroffen und der Inhalt heruntergeladen wird. Sie können das also nicht in einen try / catch-Block einbinden. Hier finden Sie einige Tipps zum dynamischen Laden von Skripts . Vielleicht fügen die Browser dem dort erstellten DOM-Element etwas hinzu, nach dem Sie suchen können.

    
Marc B 03.09.2010, 19:54
quelle
4

Sieht so aus, als ob Sie jQuery.getScript benötigen. Oder Sie können manuell ausführen:

%Vor%

Und fügen Sie Ihre HTML beim erfolgreichen Laden mit dem <script></script> -Tag an.

    
dmitko 14.09.2010 05:59
quelle
2

Dies ist ein Workaround, keine direkte Antwort, aber Sie könnten einfach einen Reverse-Proxy außerhalb der Firewall für Facebook und lade das Skript von dort. Anstatt einen eleganteren Fehler zu verursachen, kann das Skript nicht fehlschlagen.

    
slikts 10.09.2010 11:32
quelle
2

Versuchen Sie es und sehen Sie, ob es für Sie funktioniert:

%Vor%

Wenn Sie Zugriff auf ein Proxy-Skript haben, um externen Inhalt zu erhalten, würde ich es alternativ über einen xmlHttpRequest verwenden, um den JS-Inhalt zu erfassen. Wenn es erfolgreich ist, eval der Inhalt (ja, eval ist böse, ich weiß).

Ich würde hinzufügen, dass, wenn Sie wissen, dass der JS fehlschlagen wird, warum dann die Mühe machen soll?

    
donohoe 10.09.2010 21:16
quelle
0

Warum tust du das nicht auf sehr einfache Weise?:

%Vor%     
Oleg 10.09.2010 11:16
quelle
0

Bitte versuchen Sie die Funktion unten, es wird nur die onload_function aufrufen, wenn das Skript geladen wurde. Sie können eine Zeitüberschreitung festlegen, um das Skript abzubrechen.

%Vor%     
Q_Mlilo 10.09.2010 14:08
quelle
0

In Firefox und IE sollten Sie window.onerror dafür verwenden können. Sie können die Tatsache nutzen, dass Skripte in der Reihenfolge ausgeführt werden, in der sie im HTML-Code aufgelistet sind, um einen Fehlerhandler nur um das Facebook-Skript zu legen:

%Vor%     
Annie 15.09.2010 18:33
quelle

Tags und Links