使用5+sdk,通过webapp和runtime集成方式,和通过webview集成方式打开同样远程H5页面,效果有如下差异:
以下是源码:
H5页面
<script>
var ws = null;
var list = null;
// 扩展API加载完毕,现在可以正常调用扩展API
function plusReady() {
ws = plus.webview.currentWebview();
ws.setPullToRefresh({
support: true,
height: "50px",
range: "200px",
contentdown: {
caption: "下拉可以刷新"
},
contentover: {
caption: "释放立即刷新"
},
contentrefresh: {
caption: "正在刷新..."
}
}, onRefresh);
}
// 判断扩展API是否准备,
webview打开页面代码
public void onCoreInitEnd(ICore coreHandler) {
// SDK.initSDK(coreHandler);
//注册扩展的Feature
//1,featureName 为特征名称
//2, className 为处理扩展Feature的接收类全名称
//3, content 为扩展Feature而创建的js代码,代码中必须使用 plus.bridge.execSync(featureName,actionName,[arguments])或plus.bridge.exec(featureName,actionName,[arguments])与native层进行数据交互
SDK.registerJsApi(featureName, className, content);
//创建默认webapp,赋值appid
//String url = "file:///android_asset/apps/H5Plugin/www/index.html";
String url = "http://xxxxx/Mob/pay_successNew.html";
showWebview("test1", url, new AbsoluteLayout.LayoutParams(-1,800,0,200));
}
webapp打开页面
<li id="plus/njs.html" onclick="clicked(this.id)">
<span class="item">Native.JS
<div class="chs">JS调用原生代码</div>
</span>
</li>
<li id="http://xxxx/Mob/pay_successNew.html" onclick="clicked(this.id)">
<span class="item">Native.JS
<div class="chs">Echart</div>
</span>
</li>