• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

javascript - 如何从 iOS cordova 插件调用 ionic 1 方法

[复制链接]
菜鸟教程小白 发表于 2022-12-13 04:34:13 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我为我的 ionic-1 应用程序(iOS 平台)创建了一个 cordova-plugin。我想从我的 objective-c 文件中的 native iOs 类调用我的 ionic 项目的 js 文件中创建的方法>cordova-plugin.

** 请帮助了解我如何实现这一目标? **



Best Answer-推荐答案


您应该使用在 jsnative 之间制作事件协议(protocol)的 cordova channel。您可以从 cordova-plugin-inappbrowser 获取示例

链接的简要说明

在 javascript 代码中

导入 channel 库

var channel = require('cordova/channel');

创建以事件名称命名的 channel

function InAppBrowser () {
    this.channels = {
        'loadstart': channel.create('loadstart'),
        'loadstop': channel.create('loadstop'),
        'loaderror': channel.create('loaderror'),
        'exit': channel.create('exit'),
        'customscheme': channel.create('customscheme')
    };
}

添加和删除监听函数

InAppBrowser.prototype = {
    addEventListener: function (eventname, f) {
        if (eventname in this.channels) {
            this.channels[eventname].subscribe(f);
        }
    },
    removeEventListener: function (eventname, f) {
        if (eventname in this.channels) {
            this.channels[eventname].unsubscribe(f);
        }
    },
};

在 init 中注册回调(可选)。您也可以在您的应用中执行此操作。

for (var callbackName in callbacks) {
    iab.addEventListener(callbackName, callbacks[callbackName]);
}

在 native 代码中

触发事件。

CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary{@"type""loadstart", @"url":[url absoluteString]}];

[pluginResult setKeepCallback:[NSNumber numberWithBool:YES]];

[self.commandDelegate sendPluginResult:pluginResult callbackId:self.callbackId];

关于javascript - 如何从 iOS cordova 插件调用 ionic 1 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51704934/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap