我在页面的一部分中可以通过ajax请求更改其html内容。另外,每个内容(我们称其为“小模板”)都有自己的js脚本,该脚本也可以通过js附加或分离。
示例:用户单击按钮“ myBtn1”,它将加载“ tiny-template1”,而我的js会附加“ myJs1.js”。
然后,如果用户单击按钮“ myBtn2”,它将删除“ tiny-template1”和“ myJs1.js”,然后加载“ tiny-template2”并附加“ myJs2.js”。
我知道,即使我们从html中删除了脚本标记(例如:),被js删除的脚本内容仍保留在DOM中。
所以我的问题是,如果用户再次单击按钮“ myBtn1”,则将再次添加脚本“ myJs1.js”。这将导致重复的js代码吗?
答案 0 :(得分:1)
DOM中是否存在脚本 element 可能不是问题。第二次向DOM中添加脚本加载myJs1.js
时,它将第二次评估脚本,如果脚本修改了任何全局状态,这可能会导致副作用。删除脚本元素不会消除这些副作用。如果脚本不改变任何全局状态,则应该没问题。