function executeScript(curPage, html, head) {
let reg = /<script>([\s\S]+?)<\/script>/;
let match = html.match(reg);
if (match != null) {
curPage.innerHTML = html.replace(reg, "");
let MyScript = match[1];
let script = document.createElement("script");//在模版页创建新的<script>标签
script.text = MyScript;//给新的script标签赋值
let tg = head ? "head" : "body";
document.getElementsByTagName(tg)[0].append(script);//把该标签加入<head>
}
else {
curPage.innerHTML = html
}
initExWeUI2(curPage);
}
executeScript函数中对script标签的处理有问题,如果把script标签内容独立出来放到body或head中,会造成点击一次路由按钮,会在body(实际代码中并未对head参数进行设置)中增加一个script标签,是不是把代码直接改成
function executeScript(curPage, html) {
curPage.innerHTML = html
initExWeUI2(curPage);
}
这样操作会不会对其他组件造成影响?