ios - InAppBrowser 在带有 cordova 3.3.0 的 ios6 上不显示工具栏

标签 ios cordova inappbrowser

我使用 Xcode 5、Cordova 3.3.0。插件已通过命令行安装(cordova plugin add org.apache.cordova.inappbrowser)。

我在 Ipad2 上用 ios6 测试,在模拟器上用 ios7 测试。

我打开 html 文件或 pdf 文件没有任何问题,但我没有工具栏/位置栏或其他。

关闭pdf返回上一页是不可能的!!!

我可以再次检查什么?我该怎么做才能解决这个问题?

在此先感谢您的帮助;-)

我的 html 文件的内容:

<!DOCTYPE html>
<html>
    <head>
        <title>InAppBrowser.removeEventListener Example</title>

        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
        <script type="text/javascript" charset="utf-8">

        // Wait for device API libraries to load
        //
        document.addEventListener("deviceready", onDeviceReady, false);

        // Global InAppBrowser reference
        var iabRef = null;

        function iabLoadStart(event) {
            alert(event.type + ' - ' + event.url);
        }

        function iabLoadStop(event) {
            alert(event.type + ' - ' + event.url);
        }

        function iabLoadError(event) {
            alert(event.type + ' - ' + event.message);
        }

        function iabClose(event) {
            alert(event.type);
            iabRef.removeEventListener('loadstart', iabLoadStart);
            iabRef.removeEventListener('loadstop', iabLoadStop);
            iabRef.removeEventListener('loaderror', iabLoadError);
            iabRef.removeEventListener('exit', iabClose);
        }

        // device APIs are available
        //
        function onDeviceReady() {

        }

        function openPdf() {
            iabRef = window.open('test.pdf', '_blank', 'location=yes,toolbar=yes,transitionstyle=fliphorizontal');
            iabRef.addEventListener('loadstart', iabLoadStart);
            iabRef.addEventListener('loadstop', iabLoadStop);
            iabRef.addEventListener('loaderror', iabLoadError);
            iabRef.addEventListener('exit', iabClose);
        }

        function openHtml() {
            // open win and turn off location
            var ref = window.open('index2.html', '_blank', 'location=no');

            // attach listener to loadstart
            ref.addEventListener('loadstart', function(event) {
                var urlSuccessPage = "index2.html";
                if (event.url == urlSuccessPage) {
                    ref.close();
                }
            });
        }

        </script>
    </head>
    <body>

        <p><a href="javascript:openPdf();">PDF</a></p>
        <p><a href="javascript:openHtml();">page 2</a></p>

    </body>
</html>

我的配置文件的内容:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.antidot.testpdf2" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>Hello Cordova</name>
    <preference name="AllowInlineMediaPlayback" value="false" />
    <preference name="BackupWebStorage" value="cloud" />
    <preference name="DisallowOverscroll" value="false" />
    <preference name="EnableViewportScale" value="false" />
    <preference name="KeyboardDisplayRequiresUserAction" value="true" />
    <preference name="MediaPlaybackRequiresUserAction" value="false" />
    <preference name="SuppressesIncrementalRendering" value="false" />
    <preference name="TopActivityIndicator" value="gray" />
    <preference name="GapBetweenPages" value="0" />
    <preference name="PageLength" value="0" />
    <preference name="PaginationBreakingMode" value="page" />
    <preference name="PaginationMode" value="unpaginated" />
    <feature name="LocalStorage">
        <param name="ios-package" value="CDVLocalStorage" />
    </feature>
    <name>test-pdf-2</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="dev@cordova.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <access origin="*" />
    <feature name="InAppBrowser">
        <param name="ios-package" value="CDVInAppBrowser" />
    </feature>
    <feature name="File">
        <param name="ios-package" value="CDVFile" />
    </feature>
    <feature name="Console">
        <param name="ios-package" value="CDVLogger" />
    </feature>
</widget>

最佳答案

最有可能的是 inapp 浏览器插件没有加载,而是一个 webview。检查所有设置并查看是否实际调用了 inappbrowser。

关于ios - InAppBrowser 在带有 cordova 3.3.0 的 ios6 上不显示工具栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21135455/

相关文章:

Javascript 在 inappbrowser 与 Chrome 中的行为不同 - 未定义的全局变量

android - 适用于 Android 的 Cordova InAppBrowser 加载微调器

ios - 将 UIScrollView 与 SpriteKit 一起使用时出现随机问题

ios - 将 Firebase 字典数据转换为数组 (Swift)

ios - 将一些数据传回 RootViewController iOS 7

javascript - 关于在 Phonegap Build 上将 HTML 渲染为图像或将屏幕截图渲染为图像有什么想法吗?

android - 如何使用 phonegap+html+javascript 在 .apk 中显示 pdf 文件

ios - 需要帮助从 iOS 设备上传多个大图像

javascript - cordova-dialogs-plugin 中的数字输入

javascript - 如何使用 iOS 版 Phonegap 获取当前时间?