我一直在寻找打开html本地关卡的方法,Local我的意思是html位于phonegap
应用程序的www文件夹中,inappbrowser
。
var about = window.open("About.html", "_blank", "location=yes");
这是我打算这样做的代码行,但显然不起作用,如果有人可以帮助我,我将非常感激。
答案 0 :(得分:0)
您使用的是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/' : '')
作为前缀。现在,它会检测您的应用程序何时在Android上,并在其前面添加本地URL。
答案 1 :(得分: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,位置栏仅显示loading ...
知道inappbrowser是否支持传递url参数?
答案 2 :(得分:-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);
}
};