问题概述:希望隐藏跨域报错时出现在chrome测试控制台的的错误信息
__________________
详细: 现有A,B两个页面,
      A页面用Object或iframe加载B页面,
      B页面用js声明了一个Object(var aa= document.createElement("Object");
      aa.setAttribute("type","application/x-shockwave-flash");
      var Z=document.appendChild(aa);)
      在打开A页面时,由于A,B域名不一致就会报跨域错误,
      我无权修改声明aa的代码,但可以A,B页面的其他部分,我希望至少把那个在控制台里报的错误隐藏掉
________________
我试图用下面的代码隐藏错误,但丝毫不起作用
function killErrors(msg,url,l){
return true;
}
onerror=killErrors;
window.onerror = killErrors;
document.onerror = killErrors;
_________________
俺的chrome版本是24号
俺已经为此浪费了一天了,希望高手赐教!
chrome跨域onerror

解决方案 »

  1.   

    try{
    //把有异常的代码放里面
    }catch(e){
    }
      

  2.   

    Object标签只有IE能用吧,如果你就简单的像跳过错误就用 try catch
      

  3.   

    随着html5的推行,现在Object是可以用在chrome里的.还有那个try丝毫不起作用........
    继续求解
      

  4.   

    1 报跨域错误,你上面的代码看不出跨域
    2 try丝毫不起作用,可能不是那段代码引起的,你干脆直接注释那代码看看
      

  5.   

    注释掉就没问题,我也很无语......,单纯的
    var Z=document.appendChild(aa);)
    绝对没问题,但是在那之前
    aa.setAttribute("type","application/x-shockwave-flash");
    就会报跨域错误,貌似这种flash控件会自己向最顶层窗口找些什么.......
    求各位大侠帮帮小弟!
      

  6.   

    或者这样,能不能把window.addEventListener方法里的所有方法都清除掉?
      

  7.   

    你加载flash 文件了?,可能是flash有跨域操作了
      

  8.   

    倒不是flash文件,不过是播放mp4文件的flash object,我相信这种object跟flash文件是一个意思,很可能为了满足播放视窗最大话的需要它需要取最外部窗口的大小参数.这个是人家的网站,所以我也没办法要求修改它那个js,所以现在想办法回避它那个问题呢.
    大哥有没有办法删除window.addEventListener加进去的function?前提是我已经没法找到之前加进去的那个function的原型了......
    说白了,就是您能不能清空EventListener
      

  9.   

    删除window.addEventListener 用removeEventListenerel.addEventListener("click", fn, false);
    el.removeEventListener("click", fn, false);   
      

  10.   

    没事了,我重载了removeEventListener方法,就把它们给屏蔽了........感谢各位!
      

  11.   

    错了,我是重载了addEventListener......