hbuilderx原生开发js方法_实现html5+插件开发JS调用原生代码

本文介绍了如何利用HBuilderX进行原生开发,通过创建HDWPluginTest类并继承PGPlugin,实现JS调用原生代码。详细步骤包括下载SDK、编写Objective-C代码、在feature.plist注册、创建hdwtest.js脚本,并在HTML中添加事件监听调用插件方法。
摘要由CSDN通过智能技术生成

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

@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中声明方法

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);

};

在body中添加点击事件

跳转到hdwtest

在manifest.json中添加权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值