6

I had inApBrowser working in my app just fine... however, I upgraded some things and now it opens the URL without any way of closing it. You have to kill the app.

I have tried many variations of this: window.open('http://cnn.com','_blank','location=yes,toolbar=yes');

myconfig.xml has:

<feature name="InAppBrowser">
    <param name="ios-package" value="CDVInAppBrowser" />
</feature>

I get no errors... the page opens... but there is no way to close and return to the app. I have seen a lot of folks putting solutions for URL recognition and making the window close... but I need the childBrowser plugin method... where the user can close the window when he/she is finished viewing the page.

Phonegap 3.0 - JqueryMobile 1.2 - IOS 7.0.2 - xCode 5.0 -

Any help would be greatly appreciated!

4

4 回答 4

4

您的语法看起来不错,但请尝试以下代码片段:

纯 JavaScript:

var ref = window.open('http://cnn.com', '_blank', 'location=yes,toolbar=yes');

HTML + JavaScript:

<a href="#" onclick="var ref = window.open('http://cnn.com', '_blank', 'location=yes,toolbar=yes');">CNN Link</a>

此外,检查您是否已正确安装 InAppBrowser 插件(PhoneGap/Cordova 3.0+ 需要通过命令行单独安装)。您的 config.xml 文件看起来正确,但只需确保正确安装了插件的其余部分。

您可以使用以下命令列出项目中所有已安装的插件...

使用科尔多瓦: cordova plugins

使用 PhoneGap: phonegap local plugin list

您也可以直接转到桌面,导航到项目中的“插件”文件夹,并检查里面是否有一个名为“org.apache.cordova.inappbrowser”或“org.apache.cordova.core.inappbrowser”的文件夹。

要安装 InAppBrowser 插件(如有必要)...

使用科尔多瓦: cordova plugin add org.apache.cordova.inappbrowser

使用 PhoneGap: phonegap local plugin add org.apache.cordova.inappbrowser

根据您的描述,您的页面听起来像是在应用程序的 web 视图中打开,而不是在 InAppBrowser 窗口中打开。如果您使用'_self'而不是'_blank'. 希望这里的东西可以帮助解决它。

于 2013-10-18T15:34:06.920 回答
1

inAppBrowser 无法与 一起使用Phonegap 3.0.0,因此必须对其进行更改config.xml以使其在 ios 和 Android 上都可以使用:

<plugin name="inAppBrowser">

<gap:plugin name="org.apache.cordova.inappbrowser" />

此外,如果您想包含 emailcomposer,请使用以下行config.xml

<gap:plugin name="de.appplant.cordova.plugin.email-composer" />

并在 Javascript 文件中添加以下行:

var ops = {
    callback: function (result) {
        navigator.notification.alert(result);
    },
    subject: "Look at this photo",
    body: "Take a look at <b>this</b>:",
    toRecipients: ["example@email.com", "johndoe@email.org"],
    ccRecipients: [],
    bccRecipients: [],
    isHTML: true,
    attachments: ["_complete_path/image.png"]
}

function mail(name, url) {
    window.plugin.email.open({
        to: [],
        cc: [],
        bcc: [],
        subject: name,
        body: url,
        isHtml: true
    });
}
于 2013-12-28T08:49:44.177 回答
1

如果您使用的是 PhoneGap Build,那么您需要使用不同的语法,即(参见插件信息):

<gap:plugin name="org.apache.cordova.inappbrowser" />

另请参阅PGB 插件存储库。它现在似乎是最新的。您可以看到一个工作版本的简单测试应用程序。

请注意,如果您自己构建(在您的计算机上本地),这可能不起作用。如果您在本地构建,请使用 wicketyjarjar 的说明。

于 2013-12-18T13:14:35.013 回答
0

我有同样的问题。就我而言,这是由于忘记包含 cordova.js 脚本造成的。

<script type="text/javascript" src="cordova.js"></script>
于 2014-08-27T08:46:44.007 回答