⽤JS实现的⼀个include函数
很多语⾔都有类似php中的include和require功能的函数,⽽唯独javascript没有。
很早就想在js中实现类似的功能,尝试了很多次都没有成功,那天在google上搜索⼀些关于动态加载css⽂件的关键词时,发现⼀个blog(地址不到了)上的⼀个为⽹页的head标签增加link元素的函数,于是就改了⼀下,写了这个函数。
⽤法:
include_js(src,[reload]);
src: js⽂件的路径名
reload:可选参数,0或1,表⽰是否重复加载同⼀个url的js⽂件。javascript说明
说明:
当包含的js⽂件中有document.write⽅法时,在IE下没有反应,但在Mozilla Firefox 下就会让你原来的⽹页消失,只显⽰document.write出来的内容:mad:
嘿嘿,对于这个问题,我⾃然有妙招:
就是重定义 document.write⽅法,让他不显⽰任何东西。具体做法:
在 include_js 之前加上这句
document.write = function () { return false;}
这样,就算include过来的js⽂件含有document.write⽅法我们也不怕它破坏⽹页了!:lol::lol:
⽤途:
本函数可以⽤于⼀些⼴告和统计的js⽂件异步加载,避免了因加载js⽂件⽽造成的⽹页显⽰速度慢的问题。
将此函数修改⼀下便可以动态加载css⽂件,不过⽤处就没有加载js⽂件的⼤。
复制代码代码如下:
function include_js(path,reload)
{
var scripts = ElementsByTagName("script");
if (!reload)
for (var i=0;i<scripts.length;i++)
if (scripts[i].src && scripts[i].LowerCase() == LowerCase() ) return;
var sobj = ateElement('script');
sobj.src = path;
var headobj = ElementsByTagName('head')[0];
headobj.appendChild(sobj);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论