IE浏览器,判断对象是否存在时,JS报错

一只大码猴 2015-12-25 10:41:38
var contentFrameWindow = document.getElementsByName("mainframe")[0].contentWindow;
if ( contentFrameWindow.flow_ajax ) { // 如果flow_ajax存在
if(!contentFrameWindow.flow_ajax.submit()){return;}
}

火狐下正常,但是IE8就不行了,报错------'flow_ajax' 为空或不是对象。可是这样的话,应该表达式结果是false,为什么要报错?

...全文
264 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
CycloneZhu 2018-07-06
  • 打赏
  • 举报
回复
最后是放弃了IE?
I_am_a_Beginner 2015-12-25
  • 打赏
  • 举报
回复
进来学习学习!
一只大码猴 2015-12-25
  • 打赏
  • 举报
回复
引用 2 楼 lvbang_lzt 的回复:
直接获取flow_ajax进行判断。 var obj = ..... if(obj){ }
这个也试过,不行。获取的时候就报错了,而且报的就是“'flow_ajax' 为空或不是对象”。摸不着头脑
lzh_me 2015-12-25
  • 打赏
  • 举报
回复
直接获取flow_ajax进行判断。 var obj = ..... if(obj){ }
一只大码猴 2015-12-25
  • 打赏
  • 举报
回复
ie不支持这种判断方式?如果是这样的话,该怎么判断?
longq121 2015-12-25
  • 打赏
  • 举报
回复
楼主放弃IE吧,IE是个特殊群体,你要对IE做特殊操作
一只大码猴 2015-12-25
  • 打赏
  • 举报
回复
我又把contentFrameWindow打印了一下,发现是undefined,那应该不是flow_ajax的错。应该是IE8下contentWindow获取不到子页面window对象吧。但是网上查了一下contentWindow支持所有浏览器。这问题真是无语了。。。
菖蒲老先生 2015-12-25
  • 打赏
  • 举报
回复
if ( contentFrameWindow.flow_ajax !== undefined)
  • 打赏
  • 举报
回复
你这个flow_ajax是id还是name,也可以检查一下是不是拼写错误。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧