是否有可能,如果一個人有這樣的JavaScript變量:JavaScript變量HTML頁面「腳本標籤」
var myVariable = "alert('BAM! It works!');"
將其發送到具有在腳本標籤,換句話說,一個HTML頁面,看起來是這樣的: <script id="theScriptTag"></script>
,並通過「發送」我的意思是要像這樣的JavaScript文件:
getElementById("theScriptTag").innerHTML = myVariable;
也許現在人們通常不這樣做。如果還有另一種方法可以將HTML變量添加到HTML頁面,請不要猶豫。我很難解釋爲什麼我想這樣做,只有我需要這樣做。
在此先感謝!
編輯...
從所有我可以看到這個評論是一些嚴重的不良做法。讓我給你在這裏的概述和'更大的圖片'...在同一個HTML頁面上有一個表格和一個div。在用戶填寫完表單並提交之後,它立即到達服務器,並根據用戶選擇的變量生成「自定義JavaScript」。然後,這個自定義JavaScript將返回到客戶端並執行。當它執行時創建/填充一個div元素,然後包含谷歌圖表表格(因此需要獲得生成的服務器端)。需要執行的JS是這樣的:
var sendAttemptsChartTableData, sendAttemptsChartTable;
google.load('visualization', '1', {packages:['table']})
google.setOnLoadCallback(drawTable);
function drawTable() {
sendAttemptsChartTableData = new google.visualization.DataTable();
sendAttemptsChartTableData.addColumn('string','smsGuid')
sendAttemptsChartTableData.addColumn('string','attemptNo')
sendAttemptsChartTableData.addColumn('string','response')
sendAttemptsChartTableData.addColumn('string','error')
sendAttemptsChartTableData.addRows(1)
sendAttemptsChartTableData.setCell(0,0,'092A49AA-E2EF-46D3-A83E-0932B17B649A')
sendAttemptsChartTableData.setCell(0,1,'1')
sendAttemptsChartTableData.setCell(0,2,'<aatsms><submitresult action="enqueued" key="2066317199" result="1" number="0833756610"/><submitresult action="enqueued" key="2066317200" result="1" number="0833756610"/><submitresult action="enqueued" key="2066317201" result="1" number="0833756610"/><submitresult action="enqueued" key="2066317202" result="1" number="0833756610"/></aatsms>')
sendAttemptsChartTableData.setCell(0,3,'')
sendAttemptsChartTable = new google.visualization.Table(document.getElementById('sendAttemptsTable'));
var view = new google.visualization.DataView(sendAttemptsChartTableData);
sendAttemptsChartTable.draw(view, {showRowNumber: true, allowHtml:false});
google.visualization.events.addListener(sendAttemptsChartTable, 'select', smsSearchHandler);
}
爲什麼不只是創建所需的變量? – KBN
這看起來很討厭。相信我,你不想這樣做。退一步,重新思考你想要做的事情。 「評估JS通常是一個糟糕的主意。 – Christoph
絕對不是正確的解決方案。這是從'eval()'非常狹隘地刪除。如果你能澄清你想要完成的事情,那麼可能有一個非常簡單的方法。 – bkconrad