实现html5+插件开发JS调用原生代码

1、在http://ask.dcloud.net.cn/docs...页面下载最新的SDK
2、打开HBuilder-Hello,创建类HDWPluginTest继承PGPlugin

#import "PGPlugin.h"
@class PGMethod;

@interface HDWPluginTest : PGPlugin

- (void)printSomeThing:(PGMethod*)command;

@end

#import "HDWPluginTest.h"
#import <PPSDK/PPSDK.h>

@implementation HDWPluginTest

- (void)printSomeThing:(PGMethod*)command {
    NSLog(@"I am Printing...");
}

@end

在feature.plist中注册

图片描述

创建hdwtest.js

document.addEventListener("plusready", function() {
                          var _BARCODE = 'HDWPluginTest';    // 插件名称
                          var B = window.plus.bridge;
                          
                          var HDWPluginTest = {
                          callNative : function(fname, args, successCallback) {
                          var callbackId = this.getCallbackId(successCallback, this.errorCallback);
                          if (args != null) {
                          args.unshift(callbackId);
                          } else {
                          var args = [callbackId];
                          }
                          return B.exec(_BARCODE, fname, args);
                          },
                          getCallbackId : function(successCallback) {
                          var success = typeof successCallback !== 'function' ? null : function(args)
                          {
                          successCallback(args);
                          };
                          callbackId = B.callbackId(success, this.errorCallback);
                          return callbackId;
                          },
                          errorCallback : function(errorMsg) {
                          console.log("Javascript callback error: " + errorMsg);
                          },
                          printSomeThing : function() {
                          this.callNative("printSomeThing", null);
                          }
                          };
                          
                          window.plus.HDWPluginTest = HDWPluginTest;
                          
                          }, true);

在index.html中的head中声明方法

<script type="text/javascript" src="./js/hdwtest.js"></script>
    <script type="text/javascript">
        var printSomeThing = function() {
            var tag1 = document.getElementById("tagText1").value;
            var tag2 = document.getElementById("tagText2").value;
            var tags = [];
            
            if (tag1 != "") {
                tags.push(tag1);
            }
            if (tag2 != "") {
                tags.push(tag2);
            }
            plus.HDWPluginTest.printSomeThing(tags);
        };
    </script>

在body中添加点击事件

<div class="mui-content-padded">
            <button id='hdwtest' onclick="printSomeThing()" class="mui-btn mui-btn-block mui-btn-primary">跳转到hdwtest</button>
        </div>

在manifest.json中添加权限
图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值