2

我一直在寻找打开html本地级别的方法,本地我的意思是html在应用程序的www文件夹内phonegap,带有inappbrowser.

var about = window.open("About.html", "_blank", "location=yes");

这是我打算使用的代码行,但显然不起作用,如果有人可以帮助我,我将不胜感激。

4

3 回答 3

1

您使用的是 Phonegap 3.0.0 吗?我认为这是这个 Phonegap 版本的错误。

我一直在使用它作为一种解决方法(打开一个 inappbrowser 实例):

// Image zoom
$('#container').on('tap', '#content.cmscontent img', function() {
    var browser = window.open((navigator.userAgent.indexOf('Android') != -1 ? 'file:///android_asset/www/' : '') + encodeURI($(this).attr('src')), '_blank', 'location=no,toolbar=yes,enableViewportScale=yes,transitionstyle=crossdissolve');
});

请参阅我(navigator.userAgent.indexOf('Android') != -1 ? 'file:///android_asset/www/' : '')在 url 之前添加为前缀。现在它会检测您的应用何时在 Android 上,并在其前面添加本地 URL。

于 2013-08-07T13:12:56.340 回答
0

感谢您的回答,并且显然实现了它的工作,问题是有清理项目,因此没有添加 www about.html

但现在我遇到了另一个问题,因为我已经看到假装显示应用程序的简介,其中显示 ios 版本和设备名称。为此,我使用了对象名称和版本设备的属性。出于某种我不知道但在索引文件中不可用的原因,我决定将这些属性传递给 html url,例如:

var about = window.open("About.html?"+device.name+"&"+device.version, "_blank", "location=yes");

about.html 通过以下方式处理这些变量:

var cadGET = location.search.substr(1,location.search.length);

但不显示 html inappbrowser 和位置栏只显示加载...

知道inappbrowser是否支持传递url参数?

于 2013-08-07T18:47:12.543 回答
-1

您编写的代码是正确的。它正在 inappbrowser 中打开页面。

现在问题是您必须确保在设备准备好后调用它。

还要检查您使用的是 2.x 版本的 cordova 框架。如果您在使用 inappbrowser 时遇到问题,请提供更多信息。

var app = {
    // Application Constructor
    initialize: function() {
        this.bindEvents();
    },
    // Bind Event Listeners
    //
    // Bind any events that are required on startup. Common events are:
    // 'load', 'deviceready', 'offline', and 'online'.
    bindEvents: function() {
            document.addEventListener('deviceready', this.onDeviceReady, false);
    },
    // deviceready Event Handler
    //
    // The scope of 'this' is the event. In order to call the 'receivedEvent'
    // function, we must explicity call 'app.receivedEvent(...);'
    onDeviceReady: function() {
        app.receivedEvent('deviceready');
    },
    // Update DOM on a Received Event
    receivedEvent: function(id) {
        var about = window.open("about.html", "_blank", "location=yes");
        console.log('Received Event: ' + id);
    }
};
于 2013-08-07T05:10:36.790 回答