| 问题:在修改模板,或模板中调用的相应广告失效,经常会出现JS错误提示。有什么办法即使修改了模板有些小错误也不再弹出JS错误提示?比如加个容错码等。
解决:如果要让系统容错,可以在模板中添加一段容错代码。方法: 一、可以添加个自定义标签,如“{$MY_ResumeError}”,内容为: <SCRIPT LANGUAGE="JavaScript"> <!-- function ResumeError() { return true; } window.onerror = ResumeError; // --> </SCRIPT> 二、利用系统的模板内容替换功能,将这个自定义标签(如“{$MY_ResumeError}”)放入所有模板中,如:将“</head>”全部替换成“{$MY_ResumeError}</head>”即可。 三、若开启了生成功能,则需生成相关页面。
问题二:当动易系统升级后,比如从2005版本升级到2006版本,也会出现JS错误提示,特别是图片频道会出现这样的错误提示:PhotoViewer变量未定义.....
分析:这是因为当动易系统升级到2006版本后,客户仍起用了原2005下的模板,而2006版本对后台添加的上传图片会经过JS代码处理,这个JS代码和2006版本下内容页模板里的JS代码相对应,原2005下的内容页模板里的JS代码就对应不上
解决:如果客户起用原2005版本的模板代码,这时请参照2006版本里的模板代码对原模板代码进行修改就可以解决
问题三:当动易网站系统升级后,客户打开网页时在很多页面都会出现JS错误提示,并不是表现在某一两个页面
解决:在网站根目录的JS文件夹下的Stm31.js文件中,找到
If(nIE4||nNN4)window.onerror=function(m,u,l){return !confirm("Java Script Error\n"+"\nDescription:"+m+"\nSource:+"u"+"\nLine:"+l+"\n\nSee more details?");}
替换为:IF(nIE4||nNN4)window.onerror=function(m,u,l){return true;}
附:关于2006模版中使用的JS文件的说明
一、模版中的JS文件的功能说明
scriptaculous.js 动态效果函数库
util.js 系统函数库
ShowSearchForm.js 显示搜索表单
menu.js 菜单函数库
prototype.js AJAX支持函数库
controls.js AJAX扩展函数库(一般页面可删除)
effects.js AJAX扩展函数库(一般页面可删除)
dragdrop.js AJAX扩展函数库(一般页面可删除)
ShowClass_Menu.js 菜单分类JS
checklogin.js 登陆表单等函数库
stm31.js 下拉菜单支持函数库
二、为什么模版中要使用这些JS文件
这些文件很多从4.03就开始使用了,而新增的那些JS主要是因为2006采用的AJAX技术,必须使用到这些函数,而AJAX技术的特点就是通过大量JS函数在客户机上的运行,来减少与服务器之间的数据交流,从而增加程序的运行速度,改善客户体验,纵观使用了AJAX技术的N多网站,无一不是增加了大量的JS文件,但这些站并没有因此而影响速度,反而增加了运行速度,所以说光以JS文件的多少并不能衡量网站运行的实际速度,还要综合考量这些JS的功能,以及它们所起到的作用。
三、一个错误的概念
并不是用了JS就一定慢,JS是分很多类的,比如函数库型的JS文件,信息显示型的JS文件,这两者之间的区别是:
函数型的JS文件是不会反复下载的,因为这个文件的内容基本固定不变,除了用户首次访问时需要下载一次之外,其余时间均是从IE的缓存中直接读出,所以将大量的JS函数放在独立的文件里,不仅不会慢,反之还会增加速度。
而信息显示型的JS文件则不然,由于该类型的文件内容经常更新,IE每次读取时都会比较文件的生成时间,如果是新生成的,就重新下载,这样的JS用的多,更新的勤,就会很大的影响速度。 |