使用javascript在页面末尾动态添加js文件?
我想在使用javascript在页面末尾动态添加js文件?,javascript,tags,document,Javascript,Tags,Document,我想在标记之前的页面底部添加一个js文件 我正在尝试一种格式。但它不能正常工作 我的代码 var url = 'sample.js'; var script = document.createElement("script"); script.type = "text/javascript"; script.src = url; document.getElementsByTagName('body')[0].appendChild(script); 但它不起作用 现在我查一查 var x =
标记之前的页面底部添加一个js文件
我正在尝试一种格式。但它不能正常工作
我的代码
var url = 'sample.js';
var script = document.createElement("script");
script.type = "text/javascript";
script.src = url;
document.getElementsByTagName('body')[0].appendChild(script);
但它不起作用
现在我查一查
var x = document.getElementsByTagName('body');
alert(x.length);
它显示0
如何将此js文件添加到页面底部。请告知您正在head部分编写此代码,并且在执行此代码时,尚未创建body元素。这是出错的唯一原因。创建body元素后保留此代码。您正在head部分编写此代码,并且在执行此代码时,body元素尚未创建。这是出错的唯一原因。创建主体元素后保留此代码。请参阅代码
var body=document.body;
警报(“页面加载时的正文:“+正文”);
document.addEventListener(“DOMContentLoaded”,function()){
var bodyLoaded=document.body;
警报(“页面加载时的正文:“+bodyLoaded”);
变量url=”http://code.jquery.com/jquery-1.10.2.min.js";
var script=document.createElement('script');
script.type=“text/javascript”;
script.src=url;
script.onload=函数(){
var testP=$(“”);
html(“jqueryworked”);
$(document.body).append(testP);
}
bodyLoaded.appendChild(脚本);
});
如果第一次发出警报
,您将得到空值
。但在第二秒内(当body加载时),您将获得HTMLBodyElement
。如果在加载body之前尝试将元素附加到head中的body,这就是您的错误。请参阅代码
var body=document.body;
警报(“页面加载时的正文:“+正文”);
document.addEventListener(“DOMContentLoaded”,function()){
var bodyLoaded=document.body;
警报(“页面加载时的正文:“+bodyLoaded”);
变量url=”http://code.jquery.com/jquery-1.10.2.min.js";
var script=document.createElement('script');
script.type=“text/javascript”;
script.src=url;
script.onload=函数(){
var testP=$(“”);
html(“jqueryworked”);
$(document.body).append(testP);
}
bodyLoaded.appendChild(脚本);
});
如果第一次发出
警报
,您将得到空值
。但在第二秒内(当body加载时),您将获得HTMLBodyElement
。如果在加载body之前尝试将元素附加到head中的body,这就是您的错误。您的代码可以正常工作。检查这里:,你也可以检查控制台,脚本在那里。那么,还有什么是不起作用的呢?除了这个代码,你还想做什么?等等,我可以给你发个链接@塞吉奥,请看链接和控制台。我不明白,我很困惑。如果我的代码中有任何错误,请建议尝试var htmlElement=document.getElementsByTagName('body')[0]
不带appendChild,然后htmlElement.appendChild(脚本)代码>然后警报(htmlElement.length)代码>您的代码正常工作。检查这里:,你也可以检查控制台,脚本在那里。那么,还有什么是不起作用的呢?除了这个代码,你还想做什么?等等,我可以给你发个链接@塞吉奥,请看链接和控制台。我不明白,我很困惑。如果我的代码中有任何错误,请建议尝试var htmlElement=document.getElementsByTagName('body')[0]
不带appendChild,然后htmlElement.appendChild(脚本)代码>然后警报(htmlElement.length)代码>但是我只需要运行这个脚本的头部分。因为我正在创建firefox插件。所以只有我需要这个方法,我不确定你的要求。如果您只想在head部分中编写此代码,您可以在head而不是body中添加(附加)此脚本??但我只需要在head部分中运行此脚本。因为我正在创建firefox插件。所以只有我需要这个方法,我不确定你的要求。如果您只想在head部分编写此代码,您可以在head而不是body中添加(附加)此脚本??
var body = document.body;
alert("Body when page loading: " + body);
document.addEventListener("DOMContentLoaded", function() {
var bodyLoaded = document.body;
alert("Body when page loaded: " + bodyLoaded);
var url = "http://code.jquery.com/jquery-1.10.2.min.js";
var script = document.createElement('script');
script.type = "text/javascript";
script.src = url;
script.onload = function(){
var testP = $("<p></p>");
testP.html("JQuery worked");
$(document.body).append(testP);
}
bodyLoaded.appendChild(script);
});