2011-10-27 3 views
0

私はChromeの拡張機能(Just noraml HTML/JS)を作成しています。私はユーザーのための高度なスクリプトモードを作りたいと思います。例えば誰かがwindow.location=""を置けば、何も起こらないはず、または誰かが(以前に私のコードで定義されている)myVar=55;を置けば、それは何もしてはならないサンドボックス化されたJavasScript関数

function generateString(){ 
    //EDITABLE PART 
    return val; 
} 

:私はこれを出してあげる形で

どちらか。私がアクセスしたいのは戻り値だけです。

これはどういうことですか?グーグルでそれをiframeに入れることについて何かを見つけましたが、彼らはまだwindow.location="javascript:dosomehaxing()"をやっていますか?

ありがとうございます!

+2

本当に重要ですか?確かに、ユーザーは "悪い"ことをすることができますが、そのようなことは自分のコンピュータにのみ影響します。拡張機能のスクリプトはいつでも編集できます。 – pimvdb

+1

あなたはおそらく[tag:module-pattern]が必要です。 – c69

+0

真実ですが、他の人にもこのスクリプトを共有できるようにしたいと思います。誰かが拡張機能を使ってjavascriptを「すべてのページ」にもアクセスできるようにすると、かなり危険になる可能性があります。 –

答えて

0

誰も答えセクションで答えを掲示していないので、私はここに私の調査結果を投稿します:

sergはとコメントしたスレッドからは、質問「Is It Possible to Sandbox JavaScript Running In the Browser?」を、JSandboxはに最高の、軽量のオプションのようです私。その構文も非常に単純です。