Javascript Js头附加脚本
在head元素之后以编程方式附加脚本标记时Javascript Js头附加脚本,javascript,html,Javascript,Html,在head元素之后以编程方式附加脚本标记时 head.appendChild(script_elm); 在上面这个脚本元素中,我定义了一个变量。如果我想访问脚本标记中定义的变量,那么在头追加之后它不会立即工作。为什么? 您需要等待脚本加载。as@Danielesandra评论 script_elem.onload = function() { // some code }; 看到这个问题了吗 确保通过脚本访问该变量。 例如,externalscript.js windo
head.appendChild(script_elm);
在上面这个脚本元素中,我定义了一个变量。如果我想访问脚本标记中定义的变量,那么在头追加之后它不会立即工作。为什么? 您需要等待脚本加载。as@Danielesandra评论
script_elem.onload = function() {
// some code
};
看到这个问题了吗
确保通过脚本访问该变量。 例如,
externalscript.js
window.externalScript = function () {
const yourVariable = //do some magic here;
this.scriptVariable = yourVariable;
// your code
}
然后可以在onload函数中使用此变量,如下所示:
script_elem.onload = () => {
if (window.externalScript &&
window.externalScript().scriptVariable) {
//do whatever you want to do with your script variable.
}
}
如果你正在加载一个外部JavaScript文件,你必须在访问变量之前等待它被完全加载。我个人永远不会“等待”一段脚本加载一个变量。我建议使用
ajax
调用来请求变量,或者使用服务器端预处理器
(如PHP),或者简单地将脚本包含在头中
并等待DOMContentLoaded
事件。