2016-11-18 60 views
0

我正在通過添加完全自定義查詢的功能來擴展我們公司的分析型Web應用程序。作爲其中的一部分,我添加了一個文本字段到用戶可以鍵入javascript的用戶界面。然後,我正在尋找應用程序將那個輸入到文本字段的JavaScript,執行它並將結果存儲到一個變量中。如何執行由文本字段提供的JavaScript

在HTML中,我有這樣的:

<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> 

在我的JavaScript文件,我在尋找的東西,讓我做到這一點:

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

這將是一個很大的一部分當用戶點擊Web應用程序上的「提交」按鈕時觸發的javascript函數。

我該怎麼做?

+0

你會得到最好的是'eval'。如果你真的只是想從用戶輸入中執行它。你應該在另一個域上設置JS執行器,這樣它就不能控制你的頁面。像SO一樣 –

+0

我很確定這是[eval](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval)的功能,但我也很確定你不應該使用它。 –

回答

1

聽起來好像你正在尋找惡意代碼eval功能。它接受一個字符串,將其作爲Javascript執行並返回結果(如果有)。

我假設您意識到可用性和安全性可能帶來的後果。

0

你可以使用eval(contents_of_textarea)但EVAL被普遍認爲是一個非常糟糕的事情,你需要確保人們不要進入可能導致問題

相關問題