2017-02-21 6 views
2

У меня есть этот код в событие щелчкаКак использовать метод executeScript для плагина inAppBrowser в ионном 2?

let browser = new InAppBrowser('http://example.com/test', '_self'); 
browser.executeScript({code: "(function() { alert(123); })()"}); 

Когда я нажимаю кнопку, inAppBrowser открывает страницу, но скрипт не работает.
Я закрыл браузер и снова нажал кнопку, теперь скрипт запускается.

Почему он не работает в первый раз?

ответ

3

Добавить executeScript внутри InAppBrowser.addEventListener (loadstart, loadstop, loaderror), после чего он будет запущен в первый раз. Я использую ионный 1, но я думаю, что он также будет работать в ионной 2. Я добавил пример кода ниже. (Вот как это выглядит в ионной 1).

browser.addEventListener('loadstart', function(){ 
      browser.executeScript({code: "(function() { alert(123); })()"}); 
     }) 
+0

Когда я пытаюсь addEventListener, он говорит мне, что «Свойство« addEventListener »не существует в типе« InAppBrowser ». Что здесь происходит? – rashadb

+0

Вы установили [cordova-plugin-inappbrowser] (https: // github. com/apache/cordova-plugin-inappbrowser)? –

+0

Я сделал, и этот метод не является частью завершенной версии Ionic. Я получил доступ к нему, используя обычную версию cordova. – rashadb

1

Это не работает таким образом. Попробуй!

browser.on('loadstop').subscribe(() => { 
    browser.executeScript({code: 'your_code'}) 
}); 

Это работает на меня.

Смежные вопросы