У меня есть inAppBrowser (отображение веб-представления в моем приложении - ios). Для этого я использую плагин inAppBrowser для Кордовы. Если я получаю доступ к URL-адресу pdf, я меняю свою цель с _blank на _system. Проблема возникает сейчас: у меня есть 2 события: loadstart и loadstop. Если я получаю доступ к loadstart для вызова _system target, позади, после загрузки loadstop, вид будет изменен. Моя цель: я хочу, чтобы мое приложение было целевым: _blank почти все время. После того, как я получаю доступ к pdf-url (пример: http://www.orimi.com/pdf-test.pdf), мое приложение хочет иметь цель: _system (только в формате pdf), и после того, как я перейду из сети, приложение shoult не тронуто (ни один URL не изменился). Я позволю свой код здесь. Спасибо ..Cordova - eventListener/executeScript для _blank & _system target
var inAppBrowserRef;
var app = {
initialize: function() {
document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
},
onLoadStart: function(event) {
if (event.url.length > 3 && event.url.substr(event.url.length - 3).toLowerCase() == 'pdf') {
inAppBrowserRef.executeScript({ code: 'history.go(0);' });
cordova.InAppBrowser.open(event.url, '_system');
}
},
onDeviceReady: function() {
console.log('Starting InAppBrowser');
inAppBrowserRef = cordova.InAppBrowser.open('https://google.ro/', '_blank', 'location=no');
inAppBrowserRef.addEventListener('loadstart', this.onLoadStart);
inAppBrowserRef.addEventListener('loadstop', function() {
inAppBrowserRef.executeScript({ code: 'document.body.classList.add("app");' });
});
},
};
app.initialize();
URL-адрес google является примером. На стороне IAB он работает отлично, пока у меня нет pdf-файла впереди. Когда я обращаюсь к нему, он открывает браузер (_систему), но когда я его закрываю, у меня проблема. моя IAB продолжает этот url. Я хочу заблокировать страницу на стороне IAB и делать вещи только с помощью PDF на стороне браузера. Aaand, после того, как я закончу со своей стороны браузера, вернувшись назад, на IAB (_blank) я хочу иметь возможность снова получить pdf-файл в тех же условиях. –
С другой стороны, возможно, как-то можно прочитать это pdf, с плагином cordova .. но я попробовал открыватель файлов 2, и не работал для меня, для URL-адресов ... И я расскажу вам, что именно я хочу. Все, что я хочу, это иметь возможность читать этот PDF, и вернуться назад к моему приложению IOS. Если я просто получаю доступ к URL-адресу PDF прямо сейчас, он открывается, но у меня нет BACK BUTTON, и я не знаю, как это сделать .. –
Я сомневаюсь, что это связано с pdf - если вы используете другой URL-адрес, я подозреваю, Я получаю такое же поведение. У нас возникли серьезные проблемы при открытии с _system IAB при открытии и активировании другого (_blank) экземпляра, собственный код для браузера _system взаимодействует с кодом для существующего окна (в нашем случае сбои), я предполагаю, что это источник ваше _blank окно навигации. –