Открыть локальный html с помощью InAppbrowser

Я искал способы открыть локальные уровни html, Local Я имею в виду, что html находится в папке www приложения phonegap с помощью inappbrowser.

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

Это строка кода, с которой я намереваюсь это сделать, но, видимо, не работает, если кто-то может мне помочь, я был бы очень благодарен.

3 ответа

Код, который вы написали, верен. это открытие страницы в inappbrowser.

Теперь вам нужно убедиться, что вы вызываете его после того, как устройство будет готово.

Также проверьте, что вы используете 2.x версию кордовой структуры. и все еще, если вы получаете проблему с 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);
 }
};


Спасибо за ваши ответы и добился его работы, очевидно, проблема в том, что была очистка проекта и по этой причине не добавлен 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-адреса?


Вы используете 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-адрес перед ним.

licensed under cc by-sa 3.0 with attribution.