如果窗口作为选项卡打开,则window.close不起作用(Firefox 47)

时间:2016-07-06 04:33:11

标签: javascript firefox

var google_login_popup = "";

var social_google_login = function () {

    google_login_popup = window.open('www.google.com', "google_popup", 'width=800, height=600');

};

social_google_login();

setTimeout(function() {
  google_login_popup.close();
}, 1000);

它会在新的TAB中打开弹出窗口 - 而不是窗口。但是.close()没有关闭窗口。

这应该可以正常,因为打开窗口的脚本也试图关闭它。

请注意,这仅适用于Firefox 47,移动

视频:https://www.dropbox.com/s/bqcf8iwm5bsw4yn/VIDEO0254.mp4?dl=0

1 个答案:

答案 0 :(得分:1)

我在Firefox 47的移动设备(Android 5.1.1,Moto G)上对此进行了测试,并且无法在骨架网页中使用您的代码复制行为。但是,查看视频并查看step中的代码,显然会比您在此处提供的代码更多。

有关设备的人的建议

  • 尝试使用一些框架代码或在https://cdn.dorms.com/static/js/social.js†处使用我的页面,看看是否可以重现问题。
  • 使用http://https://前缀弹出式网址和/或延长超时时间。我非常怀疑这会有所帮助,但可能会有一些奇怪的现象。
  • 如果设备所有者可以,则重置Firefox应用。清除应用数据并重新开始,只是为了确保没有潜伏的东西。
  • Firefox mobile确实具有USB和Wi-Fi远程调试功能 - 请在“设置”>>下进行检查。高级>>滚动到底部"了解更多"。这样可以节省尝试调试的时间。

†我的页面包含以下HTML:

<!DOCTYPE html>
<html>
<head>
<title>Test web page</title>
<script>
var google_login_popup = "";
var social_google_login = function () {

    google_login_popup = window.open('www.google.com', "google_popup", 'width=800, height=600');

};
social_google_login();
setTimeout(function() {
  google_login_popup.close();
}, 1000);
</script>
</head>
<body>Test web page</body>
</html>