![](/img/trans.png)
[英]injecting arbitrary HTML string into document (javascript) - updated
[英]Injecting and executing JavaScript string in a specific HTML element
我已經使用包含document.write
代碼的ajax調用從服務器收到了最新的Disqus評論字符串(JavaScript代碼)。
我希望頁面在頁面的特定DIV(通過ID,即“ #recent-comments
”)中執行此代碼,我該怎么做?
我使用jQuery 2.1.1。
有點討厭,但是您可以在閉包函數中進行評估:
var message =" document.write('hello'); ";
eval("(function(){"+
"var document = {write:function(text){$('#divName').html(text)}}; " +
message +
" })();");
JSFiddle演示 (我不得不將寫入更改為wrie,否則jsfiddle不允許這樣做,只需要為您的情況改回即可)
由於它是以字符串形式出現的,因此您需要創建一個腳本元素,並將字符串(位於document.write內部)作為元素放入div中。
var sampleStr = "document.write(\"Hello World\");";
var str, scriptElement = document.createElement('script');
str = sampleStr.replace(/["']/g, '"');
str = str.replace(/"document.write/g, "");
scriptElement.innerHTML = str;
$('#div1').append(scriptElement);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.