| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 | 
							- <!DOCTYPE HTML>
 
- <html>
 
- 	<head>
 
- 		<meta charset="utf-8"/>
 
- 		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
 
- 		<meta name="HandheldFriendly" content="true"/>
 
- 		<meta name="MobileOptimized" content="320"/>
 
- 		<title>Hello H5+</title>
 
- 		<script type="text/javascript" src="../js/common.js"></script>
 
- 		<script type="text/javascript">
 
- // 保存iOS平台导入的类对象
 
- var UIAlertView=null;
 
- // 保存Android导入对象和全局环境对象
 
- var AlertDialog=null,mainActivity=null;
 
- // H5 plus事件处理
 
- function plusReady(){
 
- 	switch ( plus.os.name ) {
 
- 		case "Android":
 
- 		// 程序全局环境对象
 
- 		mainActivity = plus.android.runtimeMainActivity();
 
- 		// 导入AlertDialog类
 
- 		AlertDialog = plus.android.importClass("android.app.AlertDialog");
 
- 		break;
 
- 		case "iOS":
 
- 		// 导入UIAlertView类
 
- 		UIAlertView = plus.ios.importClass("UIAlertView");
 
- 		break;
 
- 		default:
 
- 		break;
 
- 	}
 
- }
 
- if(window.plus){
 
- 	plusReady();
 
- }else{
 
- 	document.addEventListener("plusready",plusReady,false);
 
- }
 
- /**
 
-  * 在iOS平台通过NJS显示系统提示框
 
-  */
 
- function njsAlertForiOS(){
 
- /*
 
-  * Objective-C 代码
 
-  * 
 
-   // 创建UIAlertView类的实例对象
 
-   UIAlertView *view = [UIAlertView alloc];
 
-   // 设置提示对话上的内容
 
-   [view initWithTitle:@"自定义标题"       // 提示框标题
 
-       message:@"使用NJS的原生弹出框,可自定义弹出框的标题、按钮"  // 提示框上显示的内容
 
-       delegate:nil                // 点击提示框后的通知代理对象,nil类似js的null,意为不设置
 
-       cancelButtonTitle:@"确定(或者其他字符)"     // 提示框上取消按钮的文字
 
-       otherButtonTitles:nil];        // 提示框上其它按钮的文字,设置为nil表示不显示
 
-   // 调用show方法显示提示对话框,在OC中使用[]语法调用对象的方法
 
-   [view show];
 
-  */
 
- 	// 创建UIAlertView类的实例对象
 
- 	var view = new UIAlertView();
 
- 	// 设置提示对话上的内容
 
- 	view.initWithTitlemessagedelegatecancelButtonTitleotherButtonTitles("自定义标题" // 提示框标题
 
- 		, "使用NJS的原生弹出框,可自定义弹出框的标题、按钮" // 提示框上显示的内容
 
- 		, null // 操作提示框后的通知代理对象,暂不设置
 
- 		, "确定(或者其他字符)" // 提示框上取消按钮的文字
 
- 		, null ); // 提示框上其它按钮的文字,设置为null表示不显示
 
- 	// 调用show方法显示提示对话框
 
- 	view.show();
 
- }
 
- /**
 
-  * 在Android平台通过NJS显示系统提示框
 
-  */
 
- function njsAlertForAndroid(){
 
- /*
 
-  * Android平台 java代码
 
-  * 
 
- 	// 创建提示框构造对象,Builder是AlertDialog的内部类。参数this指代Android的主Activity对象,该对象启动应用时自动生成
 
- 	AlertDialog.Builder dlg = new AlertDialog.Builder(this);
 
- 	// 设置提示框标题
 
- 	dlg.setTitle("自定义标题");
 
- 	// 设置提示框内容
 
- 	dlg.setMessage("使用NJS的原生弹出框,可自定义弹出框的标题、按钮");
 
- 	// 设置提示框按钮
 
- 	dlg.setPositiveButton("确定(或者其他字符)", null);
 
- 	// 显示提示框
 
- 	dlg.show();
 
-  */
 
- 	// 创建提示框构造对象,构造函数需要提供程序全局环境对象,通过plus.android.runtimeMainActivity()方法获取
 
- 	var dlg = new AlertDialog.Builder(mainActivity);
 
- 	// 设置提示框标题
 
- 	dlg.setTitle("自定义标题");
 
- 	// 设置提示框内容
 
- 	dlg.setMessage("使用NJS的原生弹出框,可自定义弹出框的标题、按钮");
 
- 	// 设置提示框按钮
 
- 	dlg.setPositiveButton("确定(或者其他字符)",null);
 
- 	// 显示提示框
 
- 	dlg.show();
 
- }
 
- function showNjsView(){
 
- 	switch ( plus.os.name ) {
 
- 		case "Android":
 
- 		njsAlertForAndroid();
 
- 		break;
 
- 		case "iOS":
 
- 		njsAlertForiOS();
 
- 		break;
 
- 		default:
 
- 		alert( "此平台不支持!" );
 
- 		break;
 
- 	}
 
- }
 
- function gamecenter(){
 
- 	if ( 'iOS' == plus.os.name ) {
 
- 		clicked('njs_ios_gamecenter.html',true);
 
- 	}else{
 
- 		plus.nativeUI.alert( "此平台不支持!" );
 
- 	}
 
- }
 
- function shortcut(){
 
- 	if ( 'Android' == plus.os.name ) {
 
- 		clicked('njs_android_shortcut.html',true);
 
- 	}else{
 
- 		plus.nativeUI.alert( "此平台不支持!" );
 
- 	}
 
- }
 
- 		</script>
 
- 		<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8"/>
 
- 		<style type="text/css">
 
- 		</style>
 
- 	</head>
 
- 	<body>
 
- 		<br/>
 
- 		<!--div class="button" onclick="gamecenter()">Game Center</div>
 
- 		<div class="button" onclick="shortcut()">Shortcut</div>
 
- 		<br/-->
 
- 		<ul class="dlist">
 
- 			<li class="ditem" onclick="showNjsView()">native.js调用系统提示框</li>
 
- 			<li class="ditem" onclick="clicked('njs_efficient.html')">native.js高级API</li>
 
- 		</ul>
 
- 		<br/>
 
- 		<div class="button button-waring" onclick="plus.runtime.openURL('http://ask.dcloud.net.cn/article/114')">更多示例...</div>
 
- 		<div id="outpos"/>
 
- 		<div id="output">
 
- Native.JS一种把操作系统的原生对象转义,映射为JS对象,在JS里编写原生代码的技术。可通过plus.android.*和plus.ios.*提供的API分别调用Android和iOS平台的Native API。
 
- 		</div>
 
- 	</body>
 
- </html>
 
 
  |