10

FirefoxにはSandboxとevalInSandbox()があります。Chromeは、コンテンツスクリプトで実行をサンドボックス化しています(分離実行と呼ばれています)。IEブラウザ拡張機能で同じものを探しています。

javascriptファイルをロードしてからevalScript()を呼び出すことはできますが、コードはページに存在するjavascriptと同じ環境で実行されます。サンドボックス化/分離された環境でライブラリ(jQueryを含み、jQueryに基づく)を実行する方法が必要ですが、それでも、ページ上で実行されているかのようにDOMを変更できます。

Jintは有望に見えますが、現在jQueryを評価することはできません。(彼らはそれを解析することができます。)

これどうやってするの?

4

4 に答える 4

6

あなたはこれでピクルスになっているように見えます。

  • 一部のMicrosoftの人々は、IEはこの機能を提供していないと言っています
  • これを引き抜くことができたと言う人は、それをしっかりと保持し、秘密のソースとして保護します
  • 「プロフェッショナル」IE拡張ショップは、あなたが話していることを構築することについて連絡を受けたとき、仕事を断ります

もっと良いニュースがあればいいのにと思いますが、あなたが探しているものを達成するには小さな奇跡が必要かもしれません...あるいは多分多額のお金が必要です。:)

あなたの最善の策はおそらく、彼らがそれを行うことができたと主張する数少ない人の一人を見つけて、秘密を共有するために彼らに多額のお金を払うか、あなたが本当に欲しいものが欲しい理由を再考し、あなたがそれを達成できないかどうかを確認することです仕方。

于 2010-12-09T23:27:15.873 に答える
2

LiveLabsのMicrosoftWebSandboxを見る価値があるかもしれません: http ://websandbox.livelabs.com/

それはより本格的でマッシュアップなどに関連していますが、それはあなたを正しい方向に向けるかもしれません。

于 2010-01-08T18:27:38.960 に答える
2

あなたが探しているのはActiveScriptエンジン(http://en.wikipedia.org/wiki/Active_Scripting)です

現在、有用なリンクが見つかりません。MSDNにはインターフェイス定義のみが含まれています(http://msdn.microsoft.com/en-us/library/ccd0zt2w(v=vs.85).aspx)Googleの「アクティブスクリプト」を試してください(「アクションスクリプト」ではありません!)

拡張機能にインターフェイスIActiveScriptHostを実装し、«JScript»のオブジェクトを作成し、SetSiteを呼び出してホストオブジェクトを渡す必要があります。その後、jsコードをこのエンジンにロードして実行できます。

この手法は、ドキュメントが不足しているため、非常に困難です。それでもこれに興味がある場合は、C ++/ATLでいくつかの例を送信できます。

于 2011-02-16T14:42:42.233 に答える
1

目標について少し詳しく教えていただけますか?

達成しようとしていることを明確に定義していないと思います。コードにページのDOMを変更する機能がある場合、コードはページのコンテキストで効果的に実行されています。新しいスクリプトブロックを作成して、同じ実行環境で動作している場合に実行できる危険または信頼性の低いアクションを実行できます。

IEはあなたが求めていることを実行する機能を提供していません。また、FirefoxとChromeの機能が期待どおりに機能するとは確信していません。

于 2010-01-08T18:31:00.467 に答える