我已经看到 Scriptaculous.js 文件动态包含其所需的 javascript 文件。有没有更好的方法来动态包含 javascript。
例如,我想包含我的 js 文件,例如,
<script src="single.js?files=first.js,second.js,third.js..."></script>
我怎样才能以有效的方式做到这一点?
我已经看到 Scriptaculous.js 文件动态包含其所需的 javascript 文件。有没有更好的方法来动态包含 javascript。
例如,我想包含我的 js 文件,例如,
<script src="single.js?files=first.js,second.js,third.js..."></script>
我怎样才能以有效的方式做到这一点?
要动态加载 .js 或 .css 文件,简而言之,这意味着使用 DOM 方法首先创建一个时髦的新“SCRIPT”或“LINK”元素,为其分配适当的属性,最后使用 element.appendChild()将元素添加到文档树中的所需位置。这听起来比实际情况要花哨得多。让我们看看这一切是如何结合在一起的:
function loadjscssfile(filename, filetype){
if (filetype=="js"){ //if filename is a external JavaScript file
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
}
else if (filetype=="css"){ //if filename is an external CSS file
var fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
}
if (typeof fileref!="undefined")
document.getElementsByTagName("head")[0].appendChild(fileref)
}
loadjscssfile("myscript.js", "js") //dynamically load and add this .js file
loadjscssfile("javascript.php", "js") //dynamically load "javascript.php" as a JavaScript file
loadjscssfile("mystyle.css", "css") ////dynamically load and add this .css file
我希望它充分利用
您可以使用该jQuery.getScript()
功能...我认为通过此功能包含一个 JavaScript.js
文件对您来说会容易得多。
这是参考。
按照Salaman A 的意见建议,我发现了 Google 现在如何使用 Analytics:https : //developers.google.com/analytics/devguides/collection/gajs/asyncTracking
这是相同代码的更通用版本:
(function() {
var s = document.createElement('script'); // Create a script element
s.type = "text/javascript"; // optional in html5
s.async = true; // asynchronous? true/false
s.src = "//example.com/your_script.js";
var fs = document.getElementsByTagName('script')[0]; // Get the first script
fs.parentNode.insertBefore(s, fs);
})();
把它留在这里纯粹是为了后代。
有很多不同的方式,但谷歌加载额外脚本的方式是这样的:
function getScript(src) {
document.write('<' + 'script src="' + src + '"' +
' type="text/javascript"><' + '/script>');
}
这是直接从谷歌地图加载器中获取的。
将脚本标签直接写入文档是最简单、最有效的方式。
动态添加新的 javascript 文件:
function includeJS(jsFile) {
$('head').append($('<script>').attr('type', 'text/javascript').attr('src', jsFile));
}
// Pick a JS to load
if ($.browser.msie) {
includeJS('first.js');
} else {
includeJS('second.js');
}
includeJS('third.js');