2 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
我會(huì)說(shuō)這或多或少是最好的方法。它“復(fù)雜”有什么關(guān)系?
我唯一沒(méi)有改變的不是將原始腳本插入到“實(shí)時(shí)”頁(yè)面中,而是插入到一個(gè)單獨(dú)的元素中,這也有不硬編碼類名的優(yōu)點(diǎn):
const scriptString = '<script class="heyo">document.write("hello")<\/script>';
const tempDiv = document.createElement("div");
tempDiv.innerHtml = scriptString;
const pseudoScript = tempDiv.firstChild;
const newScriptEl = document.createElement('script');
// ...

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊
一個(gè)小解決方案,appendChild而不是insertAdjacentHTML:
var scriptElement = document.createElement("script");
var scriptCode = document.createTextNode("document.write('hello')");
scriptElement.appendChild(scriptCode);
document.body.appendChild(scriptElement);
添加回答
舉報(bào)