javascript - 如何从 iOS cordova 插件调用 ionic 1 方法
<p><p>我为我的 <code>ionic-1</code> 应用程序(iOS 平台)创建了一个 <code>cordova-plugin</code>。我想从我的 <code>objective-c</code> 文件中的 native<code>iOs</code> 类调用我的 ionic 项目的 <code>js</code> 文件中创建的方法>cordova-plugin</code>.</p>
<p>** 请帮助了解我如何实现这一目标? **</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您应该使用在 <strong>js</strong> 和 <em>native</em> 之间制作事件协议(protocol)的 cordova <code>channel</code>。您可以从 <strong> <a href="https://github.com/apache/cordova-plugin-inappbrowser/blob/master/www/inappbrowser.js" rel="noreferrer noopener nofollow">cordova-plugin-inappbrowser</a> 获取示例</strong>。</p>
<p><strong>链接的简要说明</strong>,</p>
<p><strong>在 javascript 代码中</strong></p>
<p>导入 channel 库</p>
<pre><code>var channel = require('cordova/channel');
</code></pre>
<p>创建以事件名称命名的 channel </p>
<pre><code>function InAppBrowser () {
this.channels = {
'loadstart': channel.create('loadstart'),
'loadstop': channel.create('loadstop'),
'loaderror': channel.create('loaderror'),
'exit': channel.create('exit'),
'customscheme': channel.create('customscheme')
};
}
</code></pre>
<p>添加和删除监听函数</p>
<pre><code>InAppBrowser.prototype = {
addEventListener: function (eventname, f) {
if (eventname in this.channels) {
this.channels.subscribe(f);
}
},
removeEventListener: function (eventname, f) {
if (eventname in this.channels) {
this.channels.unsubscribe(f);
}
},
};
</code></pre>
<p>在 init 中注册回调(可选)。您也可以在您的应用中执行此操作。</p>
<pre><code>for (var callbackName in callbacks) {
iab.addEventListener(callbackName, callbacks);
}
</code></pre>
<p><strong>在 native 代码中</strong></p>
<p>触发事件。</p>
<pre><code>CDVPluginResult* pluginResult = }];
];
;
</code></pre></p>
<p style="font-size: 20px;">关于javascript - 如何从 iOS cordova 插件调用 ionic 1 方法,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/51704934/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/51704934/
</a>
</p>
页:
[1]