Cordova InAppbrowser executeScript запускает перезагрузку сайта - PullRequest
0 голосов
/ 13 ноября 2018

У меня странная проблема с iOS Cordova.

Я открываю новый InAppBrowser с этой строкой:

app.ref = cordova.InAppBrowser.open(url, '_blank', 'location=no,toolbar=no');

Я слушаю событие loadstop с этой строкой:

app.ref.addEventListener('loadstop', app.loadStopFunction);

loadStopFunction выглядит так:

function loadStopFunction () {
    console.log('loadStopFunction')
    app.ref.executeScript({
        code: `1+1`
    });
}

Это, к сожалению, вызывает перезагрузку стороны и приводит к бесконечному циклу (потому что событие loadstop запускается неоднократно.

Когда я делаю executeScript позже , это работает, и бесконечный цикл не запускается:

function loadStopFunction () {
    console.log('loadStopFunction')
    setTimeout(function () {
        app.ref.executeScript({
            code: `1+1`
        });
    }, 350)
}

Есть идеи, что может быть не так?

У меня нет особого опыта работы с Cordova или даже с iOS, поэтому мне будет не хватать информации.

package.json показывает мне следующие значения:

...
"cordova-ios": "^4.5.5",
"cordova-plugin-inappbrowser": "^1.7.2",
...
...