head.appendChild 在控制台中给出错误但工作正常
head.appendChild giving error in console but working fine
我正在尝试在头部加载页面时注入脚本,其中我必须在脚本中提供页面名称。
下面是我如何在我的 ts 文件中实现它。
**var head = document.getElementsByTagName('head')[0];
var tag = document.createElement("script");
tag.type = 'text/javascript';
tag.innerHTML = "var DDO = {} DDO.pageData = {'pageName': " + pageUrl + "} ";
head.appendChild(tag);**
正在注入脚本,但控制台选项卡中出现错误。
ERROR: VM3741:1 Uncaught SyntaxError: Unexpected identifier at appendChild
tag.innerHTML = "var DDO = {}; DDO.pageData = {'pageName': " + pageUrl + "} ";
定义变量 DDO 后缺少分号,
还有你从哪里注入 pageUrl,确保定义了变量。
尝试在外部文件中添加脚本并在引用该文件的脚本标签中注入,以防内部定义的脚本出现错误 html
document.head, document.body to attach scripts
试试这个
var head = document.getElementsByTagName('head')[0],pageUrl="somevalue";
var tag = document.createElement("script");
tag.type = 'text/javascript';
tag.textContent = "var DDO = {}; DDO.pageData = {'pageName': '" + pageUrl + "'} ";
head.appendChild(tag);
删除之前的脚本元素
var script = head.childNodes[0]; //get previous script element
head.removeChild(script); //removing script
您没有为键 pageName 的值提供单引号
正确答案:
var head = document.getElementsByTagName('head')[0];
var tag = document.createElement('script');
tag.type = 'text/javascript';
tag.id = 'adobedatalayer';
tag.textContent = 'var DDO = {}; DDO.pageData =' + JSON.stringify(pageinfo);
var script = document.getElementById('adobedatalayer');
if (script != null) {
head.removeChild(script);
}
head.appendChild(tag);
我正在尝试在头部加载页面时注入脚本,其中我必须在脚本中提供页面名称。 下面是我如何在我的 ts 文件中实现它。
**var head = document.getElementsByTagName('head')[0];
var tag = document.createElement("script");
tag.type = 'text/javascript';
tag.innerHTML = "var DDO = {} DDO.pageData = {'pageName': " + pageUrl + "} ";
head.appendChild(tag);**
正在注入脚本,但控制台选项卡中出现错误。
ERROR: VM3741:1 Uncaught SyntaxError: Unexpected identifier at appendChild
tag.innerHTML = "var DDO = {}; DDO.pageData = {'pageName': " + pageUrl + "} "; 定义变量 DDO 后缺少分号, 还有你从哪里注入 pageUrl,确保定义了变量。
尝试在外部文件中添加脚本并在引用该文件的脚本标签中注入,以防内部定义的脚本出现错误 html
document.head, document.body to attach scripts
试试这个
var head = document.getElementsByTagName('head')[0],pageUrl="somevalue";
var tag = document.createElement("script");
tag.type = 'text/javascript';
tag.textContent = "var DDO = {}; DDO.pageData = {'pageName': '" + pageUrl + "'} ";
head.appendChild(tag);
删除之前的脚本元素
var script = head.childNodes[0]; //get previous script element
head.removeChild(script); //removing script
您没有为键 pageName 的值提供单引号
正确答案:
var head = document.getElementsByTagName('head')[0];
var tag = document.createElement('script');
tag.type = 'text/javascript';
tag.id = 'adobedatalayer';
tag.textContent = 'var DDO = {}; DDO.pageData =' + JSON.stringify(pageinfo);
var script = document.getElementById('adobedatalayer');
if (script != null) {
head.removeChild(script);
}
head.appendChild(tag);