多玩大厅在接受到了页面的documentcompleted事件,才会把遮在页面前面的YY游戏中去掉,我们的游戏页面,YY大厅接收不到事件,所以就排查了下
发现原因在于js脚本里有个用iframe做上报功能的代码,大致代码如下:
document.getElementById("report").src="XXX"
因为是上报,其实不需要返回,所以服务器没有给任何返回,直接把连接断了,这种情况下,浏览器控件不会抛出documentcompleted事件,最终解决办法是
服务器返回空字符串
所以http请求,及时不需要返回值,也尽量返回1个http响应报文,这是个好习惯
话说documentcompleted,网上查了,说这个事件本身不太靠谱,会抛出多次,而且有的时候抛出并不是页面加载完成,有些机器上可能不会抛出,总之兼容性不好,正确方式是启动定时器,查询页面readystate,
换种方式,导出方法到页面,页面在末尾调用window.extern.noticeyycompleted()通知大厅完成,这种方式是最好的,因为页面可以自由控制
,当然YY是大爷,所以不care
YY大厅接受不到documentcompleted事件处理,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/marcher/p/yywebpage.html