直接上代码,官网的例子是这样的:

// H5 plus事件处理
function plusReady(){
	// Android处理返回键
	plus.key.addEventListener('backbutton',function(){
		('iOS'==plus.os.name)?plus.nativeUI.confirm('确认退出?', function(e){
			if(e.index>0){
				plus.runtime.quit();
			}
		}, 'HelloH5', ['取消','确定']):(confirm('确认退出?')&&plus.runtime.quit());
	},false);
	// 关闭启动界面
	plus.navigator.setStatusBarBackground('#D74B28');
	setTimeout(function(){
		plus.navigator.closeSplashscreen();
	},200);
}

但用后,安卓端的返回键直接退出应用了。

改进方法:

// H5 plus事件处理
	  function plusReady(){
	  	// Android处理返回键
		var webview = plus.webview.currentWebview();
	  	plus.key.addEventListener('backbutton',function(){
			webview.canBack(function(e) {
			    if(e.canBack) {
			        webview.back();
			    } else {
			        //webview.close(); //hide,quit
					('iOS'==plus.os.name)?plus.nativeUI.confirm('确认退出?', function(e){
						if(e.index>0){
							plus.runtime.quit();
						}
					}, 'HelloH5', ['取消','确认']):(confirm('确认退出?')&&plus.runtime.quit());		 
			    }
			})
	  	},false);
	  	// 关闭启动界面
	  	plus.navigator.setStatusBarBackground('#D74B28');
	  	setTimeout(function(){
	  		plus.navigator.closeSplashscreen();
	  	},200);
	  }

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐