zoukankan      html  css  js  c++  java
  • JS版include函数

    首先声明,本文非我原作,在一blog看到此文,然后结合一网友回复整理此文.

    用法: include_js(src,[reload]);
    src: js文件的路径名
    reload:可选参数,0或1,表示是否重复加载同一个url的js文件。

    用途:
    本函数可以用于一些广告和统计的js文件异步加载,避免了因加载js文件而造成的网页显示速度慢的问题。

    将此函数修改一下便可以动态加载css文件,不过用处就没有加载js文件的大。

    function include_js(path,reload)
    {
          var scripts = document.getElementsByTagName("script");
          if (!reload)
          for (var i=0;i<scripts.length;i++)
                if (scripts[i].src && scripts[i].src.toLowerCase() == path.toLowerCase() ) return;
          var sobj = document.createElement('script');
          sobj.type = "text/javascript";
          sobj.src = path;
          var headobj = document.getElementsByTagName('head')[0];
          headobj.appendChild(sobj);
    }


    但是这样当加载的js文件含有document.write语句时,在IE下没有反应,但在Mozilla Firefox 下就会让你原来的网页消失,只显示document.write出来的内容.对此问题一网友给出了一种比较好的解决办法,当然是重写document.write方法.下面网友原做内容:

    引用
    有一个可以让document.write信息显示出来的方法:
    先在网页中需要显示write出来的内容的地方加入一个div标签:

    <div id='jsdiv'></div>
    然后在include_js之前加上这句:
    document.write = function (s)
    {
      document.getElementById('jsdiv').innerHTML+=s;
      return false;
    }

    这样不仅可以不让document.write方法破坏网页,也避免了write出来的信息丢失的痛苦。


    偶测试了下果然好用.嘿嘿
  • 相关阅读:
    Ubuntu下设置静态网址
    Ubuntu下qemu环境搭建vexpress开发平台
    Ubuntu管理员密码设置
    学习MFC创建界面
    opencv3.0之后IPLimage转换成MAT的问题
    C++的ofstream与ifstream使用
    PCA主成分分析
    pycharm但多行注释快捷键
    fiddler不同代理模式的区别
    Python 常用模块大全(整理)
  • 原文地址:https://www.cnblogs.com/MaxIE/p/937054.html
Copyright © 2011-2022 走看看