登录站点

用户名

密码

兴趣联盟 - 学生之家黑板报

  • 分享

    修改学生之家网站javascript载入方式为异步载入

    3叶歆昊 2009-10-11 00:25
      近期有同学反应在学生之家网站上会经常出现问题,包括但不限于涂鸦板无法保存、无法使用道具、无法进行打招呼、无法回帖、发短消息、出现下载cp.php等问题。
      经过学生之家技术部成员谨慎分析,问题原因为javascript本身默认情况是同步载入,即需要所有js文件全部载入(下载到缓存)完成之后,操作才可进行。因程序原因,有些js文件必须存储在学校网外部非学生之家服务器上,近期校园网络访问外网缓慢,导致载入这些站外js文件需要很长时间(浏览器进度条一直显示载入中)。同步javascript在没有全部载入完成的情况下是不能执行任何javascript操作,所以出现本文开始提到的错误问题。
      经过学生之家技术部成员研究,借鉴Google Analytics中的js载入方法,使用“javascript自身异步载入”方式加载js文件。

    如其中之一的原js同步载入代码为
    <script type="text/javascript" src="http://a.alimama.cn/inf.js"></script>

    现使用js自身异步载入代码为
    <script type="text/javascript">
    document.write(unescape("%3Cscript src='http://a.alimama.cn/inf.js' type='text/javascript'%3E%3C/script%3E"));
    </script>

      通过javascript去载入javascript的方法实现异步载入。异步载入方式,可以不必等待所有js加载完成才能操作,在js载入的同时即可同时操作同时加载。
      备注:“javascript自身异步载入”与“AJAX”技术不同,“javascript自身异步载入”是用javascript异步载入javascript,而“AJAX”是利用javascript异步载入XML或者JSON的序列化数组数据。
      异步载入技术在网络状况不佳时是很好的解决方案,但根本问题仍然需要流畅的网络。

      若访问时仍存在相关问题,请回帖讨论。谢谢您的支持与理解。
    回复 
  • 夏海龙 2009-10-11 10:00
    咦不行啊。。。。怎么今天每次都会出现这种情况..
  • 夏海龙 2009-12-30 19:25
    近期发现这个问题一直没有有效的解决。。。。到目前为止。。
涂鸦板
插入图片
  插入   删除
+增加图片 只支持 .jpg、.gif、.png为结尾的URL地址