gpt4 book ai didi

InAppBrowser executeScript 回调根本没有触发

转载 作者:行者123 更新时间:2023-12-01 03:39:00 25 4
gpt4 key购买 nike

我正在使用 Ionic 和 ngCordova 创建构建混合应用程序。在应用程序登录工作流程中,我将一个页面从服务器返回到 InAppBrowser 插件。我需要从 Ionic 应用程序的返回页面中读取一些值。

通常的方法是在 'loadstop' 事件上调用 executeScript,并在该脚本返回某些内容时设置回调。正如你在下面的代码中看到的那样,我有这个设置。但是,无论我尝试什么,iOS Emulator、Android Emulator 的回调都不会触发。

这是在 InAppBrowser 中打开 google 网站的页面。

 $cordovaInAppBrowser.open('http://google.com', '_blank', options)
.then(function (event) {
//alert('succed')
})
.catch(function (event) {
//alert('errored')
});

以下是 loadstop 事件处理程序。 1+1 脚本被很好地注入(inject),因为我确实看到了带有 2 的警报。但是根本没有调用回调函数!
 $rootScope.$on('$cordovaInAppBrowser:loadstop', function (e, event) {
$cordovaInAppBrowser.executeScript(
{
code: "alert(1+1);"
},
function (values) {
alert('add completed');
});
});

我尝试了多个模拟器,但它们都没有工作。提前感谢您的帮助。

最佳答案

问题是 executeScriptpromise本身,因此要使您的代码正常工作,您必须编写如下内容:

$rootScope.$on('$cordovaInAppBrowser:loadstop', function (e, event) {
$cordovaInAppBrowser.executeScript(
{
code: "alert(1+1);"
}).then(
function (values) {
alert('add completed');
});
});

关于InAppBrowser executeScript 回调根本没有触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32172442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com