In-browser-javascript:在什么情况下.Open返回null/undefined
In-browser-javascript: under what circumstances does window.open return null/undefined?
我的web应用程序的异常处理代码有时会报告那个窗口。Open返回null或未定义。这是偶尔发生的,我看到大多数时候发生在Firefox 4.0.1和5.0上,在Chrome上发生的程度较小。
在特定的浏览器中,何时以及为什么会发生这种情况?
我听说IE8和IE9在保护模式下可以这样做。这是真的吗?那么Firefox呢?歌剧吗?铬吗?旅行吗?
重要提示:
- 窗口。直接调用Open在onclick事件中(它不是)推迟,因为这将导致大多数浏览器的弹出窗口阻止显示警报)。
- 窗口。Open打开一个空白窗口那么谁的HTML内容呢 请不要回复我"为什么"你用window。open吗?为什么不
我将尝试用我所收集到的信息来回答我自己的问题。我一有发现就更新。
Firefox:Firefox中嵌入的弹出窗口拦截器会自动阻止所有对window的异步调用。打开,效果就是那个窗口。Open返回null/undefined
为了避免这种情况,窗口。Open call必须是同步的,并且直接来自一个显式的用户操作,比如鼠标点击。
如果你需要根据异步事件(例如:XMLHttpRequest)的数据修改打开的窗口,你可以同步打开一个空窗口,缓存返回的窗口对象,然后稍后更新。
这个"hack"适用于所有浏览器
相关文章:
- getElementById 在 Safari 中返回 null 或 undefined
- 为什么是 isFinite(undefined) != isFinite(null)
- 为什么"undefined为null或不是对象”;
- results[0].formatted_address return undefined or null
- javascript中undefined和null的区别是什么,它们的用例是什么
- Angularjs变量undefined、null和empty同时出现
- Undefined vs null in javascript
- 为什么javascript ' var undefined '是OK的,但' var null '抛出错误
- JavaScript Regex匹配返回null或undefined
- Are [object Null] &[object Undefined]有待实现
- 反应.createElement: type不应该是null、undefined、boolean或number.它应该是
- 迭代react元素中的undefined/null对象
- 警告:反应.createElement: type不应该是null、undefined、boolean或number
- 为什么 null==undefined 在 JavaScript 中是正确的
- JavaScript,一种检查嵌套对象属性是否为null/undefined的优雅方式
- In-browser-javascript:在什么情况下.Open返回null/undefined
- Meteor Iron路由器没有'如果数据返回null/undefined,则不调用onBeforeAction
- IE8 Javascript null != undefined
- 浏览器对Javascript中null/undefined简写检查的支持是什么?
- JavaScript在尝试获取数据属性时返回NULL/Undefined