您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
如何解决忠仕商务通在ie中的兼容性(onbeforeunload在ie中的兼容性)
发布时间:2015-03-22 18:52:01编辑:雪饮阅读()
今天遇到一个商务通问题。一个网站中使用了商务通浮动窗口,分为左中右在网站中挂着,在各个浏览器中这三个浮动窗口的关闭均ok,唯独ie中随便关闭某一个窗口都会和网页重载一样:
做为一个负责任的程序员怎能够容忍这种事情呢,于是我找到其代码:
window.onbeforeunload = onbeforeunload_handler;
function onbeforeunload_handler(){
var warning="★您的问题解决了吗?\n网页描述不详,建议通过以下方式直接问医生:\n———————————————\n——\n咨询电话:029-82221120\n咨询Q Q:159913120\n——\n———————————————\西安九龙男科医院地址:西安市高新区高新四路中段";
return warning;
}
改弹窗的确是在网页重载的时候才出现的,但是我们关闭某个窗口是onclick调用的而不是网页重载,遂找到了关闭窗口的js调用,发现其调用并非onclick的调用方式,而是采用href="javascript:方法名"这种方式调用,而这种调用方式在ie中是不兼容的,将其换成onclick来调用即可。
商务通中的a标签是动态创建的并不可以直接修改href调用为onclick调用,我们也需要来动态绑定该事件的:
swt.x.onclick = new Function( "closeAd2(this) ");
closeAd2()方法为自定义方法,方法体中仅实现了当前浮动窗口的隐藏
雪饮个人博客在此分享给大家,希望同是程序的你少走弯路。
关键字词:忠仕商务通,onbeforeunload,个人博客