Frage

Firefox hat die Sandbox und evalInSandbox (). Chrome hat Sandbox Ausführung in ihrem Inhalt Skripte (sie nennen es die Ausführung isoliert). Ich bin für die gleiche Sache in einer IE-Browser-Erweiterung suchen.

Ich kann eine JavaScript-Datei laden, dann ruft evalScript (), aber der Code ausführt, in der gleichen Umgebung wie Javascript, die auf der Seite vorhanden ist. Ich brauche einen Weg, um meine Bibliothek zu laufen (einschließlich und basiert auf jQuery) in einer Sandbox / isolierte Umgebung, aber immer noch erlaube es das DOM zu verändern, als ob es auf der Seite ausgeführt wurde.

Jint sieht vielversprechend aus, aber derzeit nicht jQuery bewerten. (Sie können es analysieren.)

Wie kann ich das tun?

War es hilfreich?

Lösung

Sieht aus wie Sie in einer Gurke mit dieser sind.

  • Einige Leute sagen, dass Microsoft Internet Explorer diese Funktionalität nicht bieten
  • Einige, die sagen, sie waren in der Lage diese weg halten, ziehen sie dicht und schützen es als ihre geheime Sauce
  • „Professional“ IE-Erweiterung Geschäfte, wenn kontaktiert über den Bau, was Sie über wiederum sprechen auf der Arbeit

Ich wünschte wirklich, ich hatte bessere Nachrichten, aber es sieht aus wie ein kleines Wunder nehmen könnte zu erreichen, was Sie suchen ... oder vielleicht eine Menge Geld. :)

Ihre beste Wette ist wahrscheinlich einer der wenigen zu finden, die behaupten, dass sie in der Lage gewesen, es zu tun und zahlen sie viel das Geheimnis zu teilen oder zu überdenken, warum Sie wirklich wollen, was Sie wollen und sehen, ob Sie nicht erreichen sie eine andere Art und Weise.

Andere Tipps

Sie können es sich lohnt zu den Live-Labs auf der Microsoft-Sandbox suchen finden: http://websandbox.livelabs.com/

Obwohl es mehr vollwertiges und im Zusammenhang mit Mashups und dergleichen, es könnte Sie in die richtige Richtung weisen.

, was Sie suchen ist Active Motor ( http://en.wikipedia.org/wiki/Active_Scripting )

Ich kann nicht jetzt keine nützlichen Links finden, MSDN enthält nur Schnittstellen-Definition ( http://msdn.microsoft.com/en-us/library/ccd0zt2w (v = VS.85) aspx ) Versuchen Sie, Google "Active Scripting" (nicht "Aktion Scripting"!)

Sie müssen Schnittstelle IActiveScriptHost in Ihrer Erweiterung implementieren, erstellen Sie ein Objekt von «JScript», rufen SetSite und übergeben Sie Ihr Host-Objekt, dann können Sie Ihre js Code in diesem Motor laden und ausführen.

Diese Technik ist ein ziemlich schwierig, wegen des Mangels an Dokumentation darüber. Wenn Sie immer noch daran interessiert sind, kann ich Ihnen einige Beispiele in C ++ / ATL senden.

Können Sie sich auf Ihre Ziele etwas näher erläutern?

Ich glaube nicht, haben Sie klar definiert, was Sie versuchen zu erreichen. Wenn Ihr Code die Fähigkeit hat, die Seite des DOM zu verändern, dann effektiv es ist im Kontext der Seite ausgeführt wird. Es können neue Skriptblöcke erstellen jede unsichere oder unzuverlässig Aktion auszuführen, dass sie erreichen konnten, wurden sie in der gleichen Ausführungsumgebung betrieben wird.

IE bietet keine Funktion zu tun, was Sie fragen, und ich bin nicht davon überzeugt, dass die Firefox und Chrome Arbeit kennzeichnet die Art und Weise, dass Sie erwarten, dass sie es tun.

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