我使用 jQuery 来回答这个问题。首先,我有一个名为 includeScripts.txt 的外部 .txt 文件,其格式如下:
NameOfFile~pathToJSFile
例如:
nowa_postac~nowaPostAc.js
请注意, nowaPostAc.js 将驻留在名为Scripts的子文件夹中。
接下来我加载 jQuery(我假设您知道如何执行此操作,如果没有,您可以阅读http://www.learningjquery.com/2006/09/introducing-document-ready#more-5)并在我的jQuery 文件我有以下内容:
/*
*
* LOAD ADDITIONAL SCRIPTS
*/
jQuery.ajax(
{
url: 'Scripts/includedScripts.txt'
, timeout: 5000
, success:
function (data) {
myArray = data.split(/\n/);
for (var i = 0; i < myArray.length; i++) {
theContents = myArray[i].split("~");
goodToGo = false;
theFileName = "";
if (theContents.length == 1) {
goodToGo = true;
theFileName = theContents[0];
}
else {
for (var t = 0; t < theContents.length; t++) {
if (theContents[t].indexOf(".") != -1) {
theFileName = theContents[t];
}
else if (location.pathname.indexOf(theContents[t]) != -1) {
goodToGo = true;
}
}
}
if (goodToGo == true) {
pathToScript = (theFileName.indexOf("..") >= 0) ? theFileName.replace("..", "") : "Scripts/" + theFileName;
script = document.createElement('script');
script.type = 'text/javascript';
script.src = pathToScript;
if (jQuery("#ctl01").length > 0) {
jQuery("#ctl01").append(script);
}
else if (jQuery(".page").length > 0) {
jQuery(".page").append(script);
}
}
}
}
, error:
function (xhr, textStatus, errorThrown) {
//alert("Could not load additional modules, please alert IT");
//make a log entry...
}
, async: false
}); // load additional scripts
您很可能需要编辑以下行:
if (jQuery("#ctl01").length > 0) {
jQuery("#ctl01").append(script);
}
else if (jQuery(".page").length > 0) {
jQuery(".page").append(script);
}
可能读到类似的东西:
if (jQuery("body").length > 0) {
jQuery("body").append(script);
}
else if (jQuery("SomeOtherDivOrClass").length > 0) {
jQuery("SomeOtherDivOrClass").append(script);
}
该脚本的作用(与包含的Scripts.txt 文件一起)允许您根据页面指定要加载的不同脚本。当然,这假设您在所有页面上都加载了一个单一的脚本,例如:
<script type="text/javascript"> src="Scripts/customeJQuery.js"></script>
这将具有上述代码(加载附加脚本)。
这对我有用,你必须做一些调整——如果你通过了,请告诉我。