【发布时间】:2010-08-30 14:18:41
【问题描述】:
我的 Android 模拟器出现异常行为。当从 setTimeout 或回调函数调用时 window.open() 总是返回 undefined,例如AJAX 回调。但是 window.open() 从事件处理程序调用时成功打开一个弹出窗口,例如点击 这是示例代码:
<html>
<head>
</head>
<body>
<script type="text/javascript">
function fnc()
{
setTimeout(function() { alert(window.open('about:blank')) }, 100);
}
</script>
<input type="button" onclick="fnc()" value="push me">
</body>
</html>
在示例中 alert(window.open('about:blank')) 显示 'undefined' 并且未创建弹出窗口 当直接从 fnc() 调用时,同样的函数也起作用
有什么想法吗?
谢谢
【问题讨论】:
-
我怀疑这只是普通的弹出窗口阻止行为。
-
我在 Xul 应用程序中遇到了同样的 javascript 问题,所以它不是 Android 的问题。我建议你删除 Android 标签。
-
@Pointy 不是,在桌面应用程序中出现同样的问题(使用 Xul)
-
@Andrey 你还在用这个账号吗?
-
@Tom Brito 在 web 应用程序中,你肯定无法从超时处理程序中打开带有
window.open()的窗口。
标签: javascript android