当应用程序打开Web应用程序时,javascript window.open丢失了引用

时间:2014-07-21 13:41:08

标签: javascript window.opener

我有一个app(phonegap build)打开(inBrowser)一个web应用程序。注销时我想关闭webapplication。但我无法让它发挥作用。例如:

var ref = window.open(url, '_blank', 'location=yes');
ref.close();

工作;网址未打开。但是:

var ref = window.open(url, '_blank', 'location=yes');
setTimeout(function() {
            ref.close();
         }, 5000);

无效。

如果我在我的网络应用程序中调用它,这也无效:

window.opener.close();

似乎只要打开Web应用程序,就会丢失对该应用程序的所有引用。

任何人都知道如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您的代码应该有效。问题是您的浏览器可能不允许脚本打开新窗口。这是一个配置设置,通常设置为阻止大多数默认浏览器安装中的弹出对话框。检查您是否看到任何警报消息。

答案 1 :(得分:0)

谢谢大家。

嗯,确实不可能。

因为设备上的应用程序是本地文件,而Web应用程序是http文件。并且http无法以这种方式访问​​本地文件。

因此,解决方法是让应用程序也在线,而不是关闭窗口,重新注册到应用程序URL:$(位置).attr('href','/ app / index.html');