javascript - Cordova InAppBrowserexecuteScript() 未在 iOS 中触发回调

标签 javascript ios cordova

我有一个 cordova 应用程序并使用 InAppBrowser 登录网站。成功登录后,我需要将响应传递给应用程序。我使用executeScript() 来实现,并且在Android 中运行良好,而在iOS 中,executeScript() 的回调不会被触发。

我的Load stop事件监听器如下

var ref = cordova.InAppBrowser.open("XXXX.html", "_blank", 'location=yes,toolbar=yes');


function iabLoadStop(event) {
    alert("EXECUTING SCRIPT")
    ref.executeScript({
        code: "document.body.innerHTML"
    }, function(values) {
        alert("SCRIPT EXECUTED")
        alert(values)
    });
}

我在加载停止事件上成功收到“EXECUTING SCRIPT”警报,但支持警报“SCRIPT EXECUTED”的executeScript()并且innerHTML没有被触发。

最佳答案

事实证明,原因在于第一个 alert 。该函数停止了程序流,但也导致 XXXX.html 中的代码,由 executeScript 执行,停止。

因此应避免在事件 alert 之间调用此类函数(confirm/loadstop 等)和executeScript ,至少在 iOS 上是这样。还有类似 console.log 的替代方案.

关于javascript - Cordova InAppBrowserexecuteScript() 未在 iOS 中触发回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47854556/

相关文章:

javascript - 将 Sails JS 部署到 Heroku 时找不到图像

javascript - 如何改变图表js中的列的颜色

ios - Xamarin iOS 8,UICollectionView - 出列可重用 UICollectionViewCell 时出错

ios - StatusBar 首选项不工作 : phonegap version 3. 6.3

javascript - 如何循环访问这个 JSON 对象?

javascript - 在引用原始父元素的同时将子元素附加到另一个 div

ios - 读取从应用内购买服务器下载的文件

ios - 从 block 中返回一个值

cordova - Phonegap/Cordova 3.4干净的版本获取苹果Mach-链接器错误

javascript - cordova 3.5.0 上的本地通知不起作用?