如果想在innerHTML中插入帶有腳本標簽的內(nèi)容,需要小心處理,以避免出現(xiàn)安全問題。一種常見的方法是先將腳本內(nèi)容轉(zhuǎn)義為字符串,然后再將其插入到innerHTML中。
例如,可以使用JS的replace方法將腳本標簽轉(zhuǎn)義為字符串,并將其插入到innerHTML中:
var scriptContent = "<script>alert('Hello, world!');</script>";
var escapedScriptContent = scriptContent.replace(/</g, "<").replace(/>/g, ">");
document.getElementById("myElement").innerHTML = escapedScriptContent;
另一種方法是創(chuàng)建一個新的script標簽,并將腳本內(nèi)容作為文本節(jié)點插入到其中,然后再將該新的script標簽插入到所需的元素中:
var scriptContent = "alert('Hello, world!');";
var scriptElement = document.createElement("script");
scriptElement.textContent = scriptContent;
document.getElementById("myElement").appendChild(scriptElement);
無論使用哪種方法,都要確保插入的腳本內(nèi)容是可信任的,以避免潛在的安全風險。