簡體   English   中英

在特定的HTML元素中注入並執行JavaScript字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM