<script src="dynamic.js"></script>
</head>
<body>
</body>
</html>
test.js
alert("hello! I am test.js");
var str="1";
dynamic.js
//第⼀种⽅式:直接document.write 但这样会把当前的页⾯全覆写掉
//document.write("<script src='test.js'><\/script>");
//第⼆种⽅式:动态改变已有script的src属性
//s1.src="test.js"
//第三种⽅式:动态创建script元素
/* var oHead = ElementsByTagName('HEAD').item(0);
var oScript= ateElement("script");
oScript.src="test.js";
oHead.appendChild(oScript);
*/
//其实原理就是利⽤dom动态的引⼊⼀个js到⽂件中来~就能和原有的js通信了~
//alert(str);
/*以上三种⽅式都采⽤异步加载机制,也就是加载过程中,页⾯会往下⾛,
如果这样的话会有问题的,如上⾯的str就访问不到,因为当程序执⾏alert(str)时,test.js还在加载
那么第四种就是基于ajax请求的,且是推荐
*/
function GetHttpRequest()
{
if ( window.XMLHttpRequest ) // Gecko
return new XMLHttpRequest() ;
else if ( window.ActiveXObject ) // IE
return new ActiveXObject("MsXml2.XmlHttp") ;
}
function ajaxPage(sId, url){
var oXmlHttp = GetHttpRequest() ;
{
if (adyState == 4)
{
includeJS( sId, url, sponseText );
}
}
oXmlHttp.open('GET', url, false);//同步操作
oXmlHttp.send(null);
}
function includeJS(sId, fileUrl, source)
{js脚本编程入门
if ( ( source != null ) && ( !ElementById( sId ) ) ){
var oHead = ElementsByTagName('HEAD').item(0);
var oScript = ateElement( "script" );
oScript.id = sId;
< = source;
oHead.appendChild( oScript );
}
}
ajaxPage( "scrA", "test.js" );
alert( "主页⾯动态加载JS脚本。");
alert( "主页⾯动态加载a.js并取其中的变量:" + str );
上⽂所表述的全部内容是js动态引⼊,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,如果有疑问⼤家可以留⾔交流,谢谢⼤家对的⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论