2

我需要从我的 Phonegap 应用程序打开一个外部页面。我需要使其至少与 Android 和 iOS 兼容。

我有这个代码来打开外部页面

            **var ref = window.open('http://mysite.com/', '_blank', 'location=no');**
            lastPageLoaded = ref;
            ref.addEventListener('loadstop', function (event) {
                try {
                    alert('executing...');
                    var retVal = lastPageLoaded.executeScript(
                        {
                            code: "alert('got here!');"
                        }, function () {
                        });
                }
                catch (exception) {
                    alert(exception);
                }
            });

我的 config.xml 文件中也有这个:

<access origin="*" />

上面的代码调用 InAppBrowser 并正确打开我的外部页面。但是,InAppBrowser 未处于全屏模式,这对我的应用程序不利。

我注意到,如果我对上面的粗体(即用 ** 装饰的文本)行稍作更改:

var ref = window.open('http://mysite.com/', **'_self'**, 'location=no');

比 InAppBrowser 没有被调用,但外部页面以完整模式打开,就像我的整个应用程序一样,这很好!

但是,添加事件侦听器将不起作用:

ref.addEventListener('loadstop', function (event)

我的意思是,我的代码永远不会执行这一行:

code: "alert('got here!');"

似乎合乎逻辑,因为现在我没有在 InAppBrowser 上下文中运行,但我需要以下两种解决方案之一: 1. 使 InAppBrowser 以全屏模式运行并保留我现有的事件处理程序 2. 找到一个类似的事件来挂钩,以便我可以调用脚本加载的外部页面。

有可能实现这一目标吗?

4

0 回答 0