Frage

Ich verwende EmbeddedWB (eine Twebbrowser -Erweiterung), um eine "Live -Vorschau" einiger dynamisch generierter Inhalte zu mögen.

Ich versuche, JQuery in den Mix hinzuzufügen, damit ich einige ausgefallene Effekte erzielen kann Spaß haben. Um es einfach auszudrücken: Es wird die JavaScript -Ausführung nicht zulassen.

Ich habe versucht, meinem temporedwb einen Sicherheitsleiter hinzuzufügen, aber das tat es auch nicht. Ich habe meinen dynamischen Code in Firefox und in IE9 getestet, und es funktioniert (natürlich muss ich zuerst zuerst zulassen, wie ich festgestellt habe, dass es sich um ein Sicherheitsproblem handelte).

Gibt es einen schmerzlosen Weg, um dies zu umgehen, ohne manuell in den IE eingehen zu müssen und etwas zu optimieren? Oder bin ich völlig falsch in Bezug auf die Ursache des Problems?

BEARBEITEN: Nach dem Versuch Methode dieses Artikels, IE fragt nicht, ob es Sachen mehr zulassen sollte, aber mein Skript wird immer noch nicht in meinem temporedwb/twebbrowser ausgeführt.

Bearbeiten 2: Okay, indem ich den JQuery -Code entfernt und einen einfachen Alarm anzeige, bin ich gezwungen zu dem Schluss, dass JS jetzt ausgeführt wird, aber JQuery ist es nicht.

Bearbeiten 3: Hier ist der (abgespeckte) HTML -Code, den meine App generiert, wobei JQuery nicht in meiner EmbeddedWB/Twebbrowser -Steuerung funktioniert - jedoch, Es funktioniert in Internet Explorer 9 selbst:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=9" />
    <script type="text/javascript" src="file://C:\jQuery.js"></script>
</head>
<body>
    <center>
    <p>
      Some stuff here!
    </p>
    </center>

    <script type="text/javascript" language="javascript">
    $(document).ready(function(){
            alert('I Am jQuery!!!!');
    });
    </script>
</body>
</html>

Edit4: Ich habe auch versucht, das zu wechseln src Bei einem Google gehostete JQuery, und das hat auch nicht funktioniert. Das Entfernen des Metatags hat ihn auch nicht behoben. Lassen Sie Sie nur Dinge wissen, die ich ausprobiert habe, bevor Sie Zeit verschwenden, um es vorzuschlagen :)

Edit5: Durch Navigieren zu einer Website, die JQuery (webbrowser.navigate) verwendet, arbeitete die Website wie erwartet. Aber wenn ich es aus meinem lokalen Test.html oder durch TEILE MACHTEN .LoadFromString();, es wird nicht funktionieren.

Wird nicht funktionieren = jQuery -Code, das nicht ausführt.

War es hilfreich?

Lösung

Es scheint zu funktionieren, wenn Sie die korrekte URL für die Datei jQuery.js verwenden:

<script type="text/javascript" src="file://C:/jQuery.js"></script>
<script type="text/javascript" src="file:///jQuery.js"></script>

oder ein relativer Weg, Sie können auch die weglassen file:// Protokoll:

<script type="text/javascript" src="../../jQuery.js"></script>

Das obige funktioniert, wenn Sie die HTML aus einer Datei laden. Es ist jedoch die Frage, ob der Inhalt aus Speicher und JavaScript aus dem Dateisystem nicht als Sicherheitskontextgrenze überschritten und aus diesem Grund durch den eingebetteten Browser abgelehnt wird. In diesem Fall einbetten JQuery direkt in den HTML <script> Tag) sollte funktionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top