2016-11-18 8 views
0

完全なカスタムクエリを実行できる機能を追加することで、私たちの分析用Webアプリケーションを拡張しようとしています。その一環として、ユーザーにjavascriptを入力できるテキストフィールドをUIに追加しました。私は、アプリケーションにテキストフィールドに入力されたjavascriptを実行させ、実行し、その結果を変数に格納することを検討しています。 HTMLでテキストフィールドで提供されるjavascriptの実行方法

が、私はこのている:私のjavascriptのファイルで

<div class="div1"> 
    <div class="div1-1"> 
     <textarea name="customquery" id="customQuery" placeholder="Javascript function body where one can define a query script." /> 
    </div> 
</div> 

、私は私がこれを行うことができます何かを探しています:

var result = /* result of executing java script from the 'customquery' textarea*/ 

これが大の一部となりますユーザがウェブアプリケーション上の「submit」ボタンをクリックするとトリガされるjavascript関数。

どうすればいいですか?

+0

最高のものは 'eval'です。文字通り、ユーザーの入力からそれを実行したいだけの場合。 JS executorを別のドメインに設定して、ページを管理できないようにする必要があります。 SOのように –

+0

私はかなり[eval](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval)のようなものだと確信していますが、私もかなり確信していますあなたはそれを使用すべきではありません。 –

答えて

1

あなたが探しているかのように聞こえるが原因でした不正なコードを入力しないようにする必要がありeval -function。それは文字列をとり、Javascriptとして実行し、結果があれば結果を返します。

私は、ユーザビリティとセキュリティの可能性があることを認識していることを前提としています。

0

あなたはeval(contents_of_textarea)使用することができますが、evalのは、一般的に非常に悪いと考えられている、とあなたは確かに人々が問題

関連する問題