精华内容
下载资源
问答
  • html5+css3视频教程(全227讲)

    热门讨论 2018-05-16 16:38:03
    html5+css3视频教程(全227讲html5+css3视频教程(全227讲)
  • HBuilder HTML5+ API帮助文档

    热门讨论 2014-08-26 11:22:16
    HBuilder HTML5+ API 帮助文档,根据HBuilder H5+官方示例代码中的API页面打包而成,方便查看。不然每次都要打开示例代码,点击相应的功能页面打开对应的帮助文档,太麻烦啦,这样看着方便
  • 使用HTML+css3写的漂亮后台管理系统登录界面,界面非常美观,分格好看。拿来作为系统的登录界面非常合适
  • HTML5+JavaScript动画基础(中文完整版)
  • 疯狂html5+css3+javascript完整版

    热门讨论 2013-12-10 17:26:36
    (1) 本书很多HTML 5、CSS 3代码必须在高版本的浏览器中才能看到效果。建议读者安装Opera 11.60、Firefox 10.0、Chrome 17.0以上版本的浏览器。 (2) 本书少量程序需要使用Java编译、运行,建议安装jdk-7u3-...
  • HTML5+CSS3实例源码(包含20个),制作都很精细,界面漂亮,望对你有帮助
  • 基于html5+css3实现的精美聊天界面demo

    千次下载 热门讨论 2015-07-27 14:53:31
    基于HTML5+css3实现的两人即时通讯聊天界面,界面风格相当漂亮,可直接使用,也可简单修改为自己想要的样式,仅供大家参考。
  • HTML5+CSS3+jQuery Mobile轻松构造APP与移动网站_陈婉凌.pdf
  • 本版本用户登录界面采用js+html5+css3技术,利用vs asp.net(c#)软件平台开发设计。风格时尚,视觉效果强。登录页面展示信息全面,适合作为电子商务,社交,游戏等多用户平台登录界面。界面展示地址: ...
  • CSS3+HTML5+从入门到精通

    热门讨论 2014-07-03 12:44:13
    CSS3+HTML5+从入门到精通 CSS3+HTML5+从入门到精通》-中文学习教程
  • html5+exif.js+canvas

    千次下载 热门讨论 2015-09-22 15:40:58
    实现手机端照片上传预览、压缩、旋转功能。 //获取照片方向角属性,用户旋转控制 EXIF.getData(file, function() { // alert(EXIF.pretty(this)); EXIF.getAllTags(this); //alert(EXIF.getTag(this, '...
  • HTML5+CSS3响应式垂直时间轴,没有用js。挺好看的,分享给大家
  • 课程包含HTML5新标签新规范,DIV+CSS设计、Canvas绘画;CSS样式设计,其中有动画特效、渐变、图形图像、2D/3D转换特效、自适应网页设计等;JS包含核心语法、面向对象编程、复杂的项目案例、HTTP网络协议、AJAX前后...
  • HTML5+jQuery+Canvas调用手机拍照功能上传图片

    千次下载 热门讨论 2014-10-29 15:00:48
    HTML5+Canvas+jQuery调用手机拍照功能,本地压缩上传图片。以上都是测试通过了的。
  • Struts2.3 + Spring3.2 + Hibernate4.1 + HTML5 + CSS3开发示例代码。 其中包括如下文件: 介绍文档 Struts2.3 + Spring3.2 + Hibernate4.1 + HTML5 + CSS3开发示例.docx Eclipse工程文件 SSH2.zip Zip包是Eclipse...
  • html5+jquery+mysql登陆验证实例

    热门讨论 2014-03-06 20:28:33
    该针对网站登录流程的实例,详细叙述登录过程的实现。环境:myeclipse+mysql。具体阐述见http://write.blog.csdn.net/postlist
  • HTML5+ API

    千次阅读 2019-05-21 19:52:49
    HTML5+ API:http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.getLaunchWebview
    展开全文
  • mui开发app之html5+,5+Runtime,5+sdk,native.js

    千次阅读 2017-05-01 23:09:21
    说说几个名词html5:目前最新的html规范,w3c联盟制定,手机端主要由webkit实现规范,对用户来说就是浏览器实现了它html5+:所谓“+”,扩充了html5原本没有的app功能对象,“中国html5+产业联盟”规范了html5+并且...

    说说几个名词

    html5:目前最新的html规范,w3c联盟制定,手机端主要由webkit实现规范,对用户来说就是浏览器实现了它

    html5+:所谓“+”,扩充了html5原本没有的app功能对象,“中国html5+产业联盟”规范了html5+并且实现他们,html5+是对常用的原生API的js封装,包括相机,陀螺仪等31个常用API(android和ios通用),这些html5是没有的!

    native.js:native.js技术,简称NJS,是一种将手机操作系统的原生对象转义,映射为JS对象,在JS里编写原生代码的技术。上面的html5+就是他的一个实现好的子集。native.js不是js框架,是技术!

    如果说Node.js把js扩展到服务器世界,那么Native.js则把js扩展到手机App的原生世界。

    5+Runtime:native.js的运行时,相当于.net对C#,JRE对于JAVA,是一个运行环境,有把Native.js映射到java,oc代码的原生API功能,从而实现原生的调用。

    对于5+Runtime和native.js的关系可以理解成:native.js是一种语言(语法基于js),5+runtime是这语言的运行环境!

    html5+sdk:软件开发工具包,它和android sdk,ios sdk一样

    HTML5+ 的SDK,是把5+ runtime封装为原生SDK,它有3个用途。
    1. 使用HTML5+ SDK实现本地打包。
    2. 通过原生代码扩展HTML5+ runtime的功能。
    3. 在现有原生项目中使用HTML5+ SDK替换原有的webview,以获得更强的web增强表现。

    这里写图片描述

    然后:当我们使用dcloud的mui框架做应用开发的时候

    有这么几种情况!

    仅仅使用html5的语法:

    即浏览器级的html5+js+css,不需要打包成app,可以使用mui框架里的css样式和部分js,与开发传统的wap手机页面相同,相似的其他框架有诸如:jquery mobile,amazeui等等。

    这样开发只适合制作微信公众号,手机网页等等,并且只能在浏览器中使用应用,不过相比于html4已经强大不少。

    需要在mui.init()之后才能使用mui这个对象,调用其中部分的js方法,为什么说部分是因为。。。请往下看!

    使用html5+提供的plus对象

    mui中有个plus对象,他不是简单的使用html5的功能,而是提供了一个叫html5+的API集,并且将他们封装在了这个plus对象中,里面有陀螺仪,map,定位,相机,文件流等等的原生功能调用接口!

    plus这里面的对象就必须在mui.plusReady()之中使用,,而上面说浏览器级别的只能使用mui部分的js对象和方法就是这个原因!如果不是用html5+,你并不需要使用plusReady方法,只需要在用mui之前mui.init()一下就可以,这也是经常有人问的mui.init()和plusReady()的区别。

    mui.plusReady()是为“html5+”而生的,最终通过“html5+sdk”打包成了app级别才能使用,因为这plus对象里面的东西最终会被映射成为java(android sdk),objective-c(ios sdk)的代码,这也是native.js的技术咯!

    说太多也不好理解,这些底层的实现都已经由dcloud团队领导的“中国html5+产业联盟”(社区)实现了,我们只要知道我们写的plus对象的js代码都会被转化为原生代码,app就能实现很多原生功能的调用。

    注意:plus这些东西在浏览器级别是不支持的,所以不可以在普通浏览器中调用这个plusReady,以及plus.xxx.xxx方法等,浏览器用mui框架只是一部分可用的而已(刚刚说过了,再啰嗦一下)!

    要使用html5+就要求我们打包成app(使用html5+sdk),有5+Runtime,这样即可运行plus对象下的对象和方法,这个打包可以由hbuilder实现。(称之为:调试基座,html5+的功能要在调试基座中实现,即5+runtime)

    这些都是app级别的了

    html5+规范也不够用了

    完全有这种可能,毕竟html5+是规范性的,不能什么原生API都往里面塞对吧,他实现的是基本的,常用的一些原生API调用,比如相机,定位,陀螺仪,文件流等等等。。。
    (有31个,详细请看:http://www.html5plus.org/doc/h5p.html

    其实真正的原生语法有几十万个,提供API数不胜数,不可能一一调出来,html5+把几个常用的被规范化提出来而已。

    要使用其他的原生语法并映射成为js就要用到比html5+更厉害的native.js了

    native.js是对html5+的扩展(超集),是映射到原生代码的原理,交给原生代码去实现原生开发的功能,可以简单说成是把js代码转化为java代码了,当然java也不过是JVM虚拟机上跑的,最终还被转换了二进制,计算机编程实现就是这样一层一层往下丢的啦!

    注意:native.js不是一个js框架,和node.js命名一样,是一种技术实现,专门把js映射成底层代码,或者说是js在app开发上的一种实现!就像node把js带入了服务器和系统领域一样的道理。

    使用native.js需要对原生语法,api十分的了解,你至少要学过android或者ios开发,否则你只能copy别人代码也不知道为什么这么写!

    下面举个例子,就懂了为什么你不懂原生就不能搞native.js:

    function plusReady(){
        // 导入Native.js需要的原生对象
        Activity = plus.android.runtimeMainActivity();
        BitmapFactory = plus.android.importClass("android.graphics.BitmapFactory");
        StringBuffer = plus.android.importClass("java.lang.StringBuffer")
        Byte = plus.android.importClass("java.lang.Byte");
        CompressFormat = plus.android.importClass("android.graphics.Bitmap.CompressFormat");
        bBitmap = plus.android.importClass("android.graphics.Bitmap");
        ByteArrayOutputStream = plus.android.importClass("java.io.ByteArrayOutputStream");
        Base64 = plus.android.importClass("android.util.Base64");
        //viewClass = plus.android.importClass("android.view.View");
    
        document.getElementById("btGetCapture").disabled="";
    }

    看到没这是一个html5+没有的截屏功能,是通过native.js扩展实现的

    里面出现了大量的importClass,写过java就明白了,这不是java在导入包吗??

    是的,native.js就是实现了js导入java包,并且最终使用java的代码来实现功能

    总之
    1. native.js使得开发html5 app更加接近原生,因为他可以用原生一样的语法调用原生的对象(映射)
    2. 要懂原生开发才能自由定义或者使用已有的API功能实现
    3. 个人建议是能不用native.js则不用,多用已经实现的html5+(其实这些也是native.js实现了,不过被封装好了不用自己去import什么的)

    参考别人做好的native.js对原生功能实现:http://ask.dcloud.net.cn/article/114

    展开全文
  • iscroll+html5+css3+js实现下拉刷新上拉分页的功能

    千次下载 热门讨论 2013-08-08 12:39:29
    基于iscroll4和html5、css3实现的下拉刷新、上拉分页的demo,兼容pc、android、ios、wp等设备。解决了上拉分页footer存在bug的问题。 支持chrome、ff、opera、360浏览器、百度浏览器、qq浏览器等众多主流浏览器。
  • MUI 结合 HTML5+ 实现的二维码扫描功能

    千次阅读 热门讨论 2019-04-21 12:07:10
    MUI 结合 HTML5+ 实现的二维码扫描功能 一、说明 二维码的扫描在手机APP的开发中是很常见的一个需求,毕竟用的也多嘛。html5+ 提供了Barcode模块管理条码扫描,支持常见的条码(一维码及二维码)的扫描识别功能。...

                                                              MUI 结合 HTML5+ 实现的二维码扫描功能

    一、说明

            二维码的扫描在手机APP的开发中是很常见的一个需求,毕竟用的也多嘛。html5+ 提供了 Barcode模块管理条码扫描,支持常见的条码(一维码及二维码)的扫描识别功能。可调用设备的摄像头对条码图片扫描进行数据输入,解码后返回码数据及码类型。通过plus.barcode可获取条码码管理对象。(html5产业联盟)(更好的阅读体验,请移步我的个人博客)

    二、实现效果

     三、主要实现代码逻辑(完整项目案例

            与之前写的有一些差别,这个是组件更新之后的写法,并修复了评论中出现的部分问题。上一篇博客地址:基于MUI框架的使用HTML5+实现的二维码扫描功能

    <!doctype html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    		<link href="css/mui.min.css" rel="stylesheet" />
    		<script src="js/mui.min.js"></script>
    		<style type="text/css">
    			#bcid {
    				width: 100%;
    				height: 100%;
    				position: absolute;
    				background: #000000;
    			}
    			html,
    			body,
    			div {
    				height: 100%;
    				width: 100%;
    			}
    			.fbt {
    				color: #0E76E1;
    				width: 50%;
    				background-color: #ffffff;
    				float: left;
    				line-height: 44px;
    				text-align: center;
    			}
    		</style>
    	</head>
    	<body>
    		<header class="mui-bar mui-bar-nav" style="background-color: #ffffff;">
    			<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
    			<h1 class="mui-title" style="color: #0E76E1;">物品二维码扫描</h1>
    			<span class="mui-icon mui-icon-spinner-cycle mui-spin mui-pull-right" id="turnTheLight"></span>
    		</header>
    
    		<div id="bcid">
    			<!--盛放扫描控件的div-->
    		</div>
    
    		<div class="mui-bar mui-bar-footer" style="padding: 0px;">
    			<div class="fbt" onclick="scanPicture();">从相册选择二维码</div>
    			<div class="fbt mui-action-back">取  消</div>
    		</div>
    
    		<script type="text/javascript">
    			scan = null; //扫描对象
    			mui.plusReady(function() {
    				mui.init();
    				startRecognize();
    			});
    
    			function startRecognize() {
    				try {
    					var filter;
    					//自定义的扫描控件样式
    					var styles = {
    						top: '100px',
    						left: '0px',
    						width: '100%',
    						height: '500px',
    						position: 'static',
    					}
    					//扫描控件构造
    					scan = plus.barcode.create('bcid', filter, styles);
    					scan.onmarked = onmarked;
    					scan.onerror = onerror;
    					plus.webview.currentWebview().append(scan);
    					scan.start();
    					//打开关闭闪光灯处理
    					var flag = false;
    					document.getElementById("turnTheLight").addEventListener('tap', function() {
    						if (flag == false) {
    							scan.setFlash(true);
    							flag = true;
    						} else {
    							scan.setFlash(false);
    							flag = false;
    						}
    					});
    				} catch (e) {
    					alert("出现错误啦:\n" + e);
    				}
    			};
    
    			function onerror(e) {
    				alert(e);
    			};
    
    			function onmarked(type, result) {
    				var text = '';
    				switch (type) {
    					case plus.barcode.QR:
    						text = 'QR: ';
    						break;
    					case plus.barcode.EAN13:
    						text = 'EAN13: ';
    						break;
    					case plus.barcode.EAN8:
    						text = 'EAN8: ';
    						break;
    				}
    				//扫描成功之后的处理
    				alert(text + " : " + result);
    				scan.start();
    			};
    
    			// 从相册中选择二维码图片 
    			function scanPicture() {
    				plus.gallery.pick(function(path) {
    					plus.barcode.scan(path, onmarked, function(error) {
    						plus.nativeUI.alert("无法识别此图片");
    					});
    				}, function(err) {
    					plus.nativeUI.alert("Failed: " + err.message);
    				});
    			}
    		</script>
    	</body>
    </html>

    三、总结

    1,这个模块还是存在一些问题的,不能像原生的那样顺滑,并且,还没有全屏,通过调样式实现的话,效果也不是那么好。

    2,关于样式上面的调节,在上一篇博客有介绍,这里不再赘述。

    3,这篇博客是接着上一篇的,主要修复了评论下面提出的问题。

    4,完整项目案例链接

    展开全文
  • 疯狂HTML5+CSS3+javascript讲义

    热门讨论 2014-03-04 22:26:56
    李刚主编的疯狂HTML5+CSS3+JAVASCRIPT讲义
  • html5+ push-消息推送

    千次阅读 2018-10-08 15:17:11
    ": 欢迎使用HTML5+创建本地消息!" ; plus . push . createMessage ( str , "LocalMSG" , options ) ; outSet ( "创建本地消息成功!" ) ; console . log ( "请到系统消息中心查看!" ) ; ...

    push-消息推送

    Push模块管理推送消息功能,可以实现在线、离线的消息推送,通过plus.push可获取推送消息管理对象。

    方法:

    对象:

    回调方法:

    权限:

    permissions

    {
    // ...
    "permissions":{
    	// ...
    	"Push": {
    		"description": "消息推送"
    	}
    }
    }
    

    属性:

    • cover: 设定显示推送消息的模式

      可取值true或false,true表示推送消息覆盖模式显示,即仅显示最后接收到的推送消息;false表示在系统消息中心显示多条消息。 默认值为ture。

      平台支持

      • Android - 2.2+ (支持)
      • iOS - 4.3+ (不支持): 不支持覆盖消息,每条信息都在系统消息中心,忽略cover属性值。

    ClientInfo

    JSON对象,获取的客户端标识信息

    属性:

    • token: _(String 类型 )_设备令牌(iOS设备唯一标识),用于APNS服务推送中标识设备的身份

    • clientid: _(String 类型 )_推送服务令牌(设备唯一标识),用于标识推送信息接收者身份

      第三方推送服务器管理的设备唯一标识,在iOS平台此值通常与token不同;在其它平台此值通常与token值一致。 此值与设备及应用都相关,即不同的apk/ipa安装到同一台设备上的值都不相同。

    • appid: _(String 类型 )_第三方推送服务的应用标识

      第三方推送服务器管理的应用标识,通常需要在第三方推送服务器平台进行注册获取。

    • appkey: _(String 类型 )_第三方推送服务器的应用键值

      第三方推送服务器管理的应用键值,通常需要在第三方推送服务器平台进行注册获取。

    PushMessage

    JSON对象,推送消息对象

    属性:

    • title: _(String 类型 )_推送消息显示的标题

    • content: _(String 类型 )_推送消息显示的内容

    • payload: _(JSON 类型 )_推送消息承载的数据

      如果推送消息中传输的数据不符合JSON格式,则作为String类型数据保存。

    • aps: _(JSON 类型 )_Apple APNS推送协议数据

    MessageOptions

    JSON对象,获客户端创建本地消息的参数

    属性:

    • appid: _(String 类型 )_要启动流应用的appid

      默认值为当前流应用的appid。

    • title: _(String 类型 )_推送消息的标题

      在系统消息中心显示的通知消息标题,默认值为程序的名称。

    • sound: _(String 类型 )_推送消息的提示音

      显示消息时的播放的提示音,可取值: “system”-表示使用系统通知提示音; “none”-表示不使用提示音; 默认值为“system”。

    • cover: _(Boolean 类型 )_是否覆盖上一次提示的消息

      可取值true或false,true为覆盖,false不覆盖,默认为permission中设置的cover值。

    • when: _(Date 类型 )_消息上显示的提示时间

      默认为当前时间,如果延迟显示则使用延时后显示消息的时间。

    • delay: _(Number 类型 )_提示消息延迟显示的时间

      当设备接收到推送消息后,可不立即显示,而是延迟一段时间显示,延迟时间单位为s,默认为0s,立即显示。

    PushReceiveCallback

    客户端接收到推动消息的回调函数

    void onReceive( msg ) {
     	// Recieved push message code.
     }
    

    参数:

    • msg: ( String ) 必选 接收到的推送信息msg

    返回值:

    void : 无

    PushClickCallback

    用户点击推送消息事件的回调函数

    void onClick( msg ) {
    	// Clicked push message code. 
    }
    

    参数:

    • msg: ( String ) 必选 用户点击的推送信息msg

    返回值:

    void : 无

    <!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">
    			var pushServer = "http://demo.dcloud.net.cn/push/?";
    			var message = null;
    			// 监听plusready事件  
    			document.addEventListener("plusready", function () {
    				message = document.getElementById("message");
    				// 监听点击消息事件
    				plus.push.addEventListener("click", function (msg) {
    					// 判断是从本地创建还是离线推送的消息
    					switch (msg.payload) {
    						case "LocalMSG":
    							outSet("点击本地创建消息启动:");
    							break;
    						default:
    							outSet("点击离线推送消息启动:");
    							break;
    					}
    					// 提示点击的内容
    					plus.nativeUI.alert(msg.content);
    					// 处理其它数据
    					logoutPushMsg(msg);
    				}, false);
    				// 监听在线消息事件
    				plus.push.addEventListener("receive", function (msg) {
    					if (msg.aps) { // Apple APNS message
    						outSet("接收到在线APNS消息:");
    					} else {
    						outSet("接收到在线透传消息:");
    					}
    					logoutPushMsg(msg);
    				}, false);
    			}, false);
    
    			/**
    			 * 日志输入推送消息内容
    			 */
    			function logoutPushMsg(msg) {
    				console.log("title: " + msg.title);
    				console.log("content: " + msg.content);
    				if (msg.payload) {
    					if (typeof (msg.payload) == "string") {
    						console.log("payload(String): " + msg.payload);
    					} else {
    						console.log("payload(JSON): " + JSON.stringify(msg.payload));
    					}
    				} else {
    					console.log("payload: undefined");
    				}
    				if (msg.aps) {
    					console.log("aps: " + JSON.stringify(msg.aps));
    				}
    			}
    
    			/**
    			 * 获取本地推送标识信息
    			 */
    			function getPushInfo() {
    				var info = plus.push.getClientInfo();
    				outSet("获取客户端推送标识信息:");
    				console.log("id: " + info.id);
    				console.log("token: " + info.token);
    				console.log("clientid: " + info.clientid);
    				console.log("appid: " + info.appid);
    				console.log("appkey: " + info.appkey);
    			}
    			/**
    			 * 本地创建一条推动消息
    			 */
    			function createLocalPushMsg() {
    				var options = {
    					cover: false
    				};
    				var str = dateToStr(new Date());
    				str += ": 欢迎使用HTML5+创建本地消息!";
    				plus.push.createMessage(str, "LocalMSG", options);
    				outSet("创建本地消息成功!");
    				console.log("请到系统消息中心查看!");
    				if (plus.os.name == "iOS") {
    					console.log('*如果无法创建消息,请到"设置"->"通知"中配置应用在通知中心显示!');
    				}
    			}
    			/**
    			 * 读取所有推送消息
    			 */
    			function listAllPush() {
    				var msgs = null;
    				switch (plus.os.name) {
    					case "Android":
    						msgs = plus.push.getAllMessage();
    						break;
    					default:
    						break;
    				}
    				if (!msgs) {
    					outSet("此平台不支持枚举推送消息列表!");
    					return;
    				}
    				outSet("枚举消息列表(" + msgs.length + "):");
    				for (var i in msgs) {
    					var msg = msgs[i];
    					console.log(i + ": " + msg.title + " - " + msg.content);
    				}
    			}
    			/**
    			 * 清空所有推动消息
    			 */
    			function clearAllPush() {
    				plus.push.clear();
    				outSet("清空所有推送消息成功!");
    			}
    			/**
    			 * 请求‘简单通知’推送消息
    			 */
    			function requireNotiMsg() {
    				if (navigator.userAgent.indexOf('StreamApp') > 0) {
    					plus.nativeUI.toast('当前环境暂不支持发送推送消息');
    					return;
    				}
    				var inf = plus.push.getClientInfo();
    				var url = pushServer + 'type=noti&appid=' + encodeURIComponent(plus.runtime.appid);
    				inf.id && (url += '&id=' + inf.id);
    				url += ('&cid=' + encodeURIComponent(inf.clientid));
    				if (plus.os.name == 'iOS') {
    					url += ('&token=' + encodeURIComponent(inf.token));
    				}
    				url += ('&title=' + encodeURIComponent('Hello H5+'));
    				url += ('&content=' + encodeURIComponent('欢迎回来体验HTML5 plus应用!'));
    				url += ('&version=' + encodeURIComponent(plus.runtime.version));
    				plus.runtime.openURL(url);
    			}
    			/**
    			 * 请求‘打开网页’推送消息
    			 */
    			function requireLinkMsg() {
    				if (navigator.userAgent.indexOf('StreamApp') > 0) {
    					plus.nativeUI.toast('当前环境暂不支持发送推送消息');
    					return;
    				}
    				var inf = plus.push.getClientInfo();
    				var url = pushServer + "type=link&appid=" + encodeURIComponent(plus.runtime.appid);
    				inf.id && (url += '&id=' + inf.id);
    				url += ('&cid=' + encodeURIComponent(inf.clientid));
    				if (plus.os.name == 'iOS') {
    					url += ('&token=' + encodeURIComponent(inf.token));
    				}
    				url += ('&title=' + encodeURIComponent('HBuilder飞一样的编码'));
    				url += ('&content=' + encodeURIComponent('看HBuilder如何追求代码编写速度的极致!立即去瞧一瞧?'));
    				url += ('&url=' + encodeURIComponent('http://www.dcloud.io/'));
    				url += ('&version=' + encodeURIComponent(plus.runtime.version));
    				plus.runtime.openURL(url);
    			}
    			/**
    			 * 请求‘下载链接’推送消息
    			 */
    			function requireDownMsg() {
    				if (navigator.userAgent.indexOf('StreamApp') > 0) {
    					plus.nativeUI.toast('当前环境暂不支持发送推送消息');
    					return;
    				}
    				if (plus.os.name != "Android") {
    					plus.nativeUI.alert("此平台不支持!");
    					return;
    				}
    				var inf = plus.push.getClientInfo();
    				var url = pushServer + 'type=down&appid=' + encodeURIComponent(plus.runtime.appid);
    				inf.id && (url += '&id=' + inf.id);
    				url += ('&cid=' + encodeURIComponent(inf.clientid));
    				url += ('&title=' + encodeURIComponent('Hello H5+'));
    				url += ('&content=' + encodeURIComponent('新版本发布了!立即下载体验?'));
    				url += ('&ptitle=' + encodeURIComponent('Hello H5+'));
    				url += ('&pcontent=' + encodeURIComponent('1. 优化用户体验;\n2. 修复在Android2.3.x某些设备可能异常退出的问题.'));
    				url += ('&dtitle=' + encodeURIComponent('下载Hello H5+'));
    				url += ('&durl=' + encodeURIComponent('http://www.dcloud.io/helloh5/HelloH5.apk'));
    				url += ('&version=' + encodeURIComponent(plus.runtime.version));
    				plus.runtime.openURL(url);
    			}
    			/**
    			 * 请求‘透传数据’推送消息
    			 */
    			function requireTranMsg() {
    				if (navigator.userAgent.indexOf('StreamApp') > 0) {
    					plus.nativeUI.toast('当前环境暂不支持发送推送消息');
    					return;
    				}
    				var inf = plus.push.getClientInfo();
    				var url = pushServer + 'type=tran&appid=' + encodeURIComponent(plus.runtime.appid);
    				inf.id && (url += '&id=' + inf.id);
    				url += ('&cid=' + encodeURIComponent(inf.clientid));
    				if (plus.os.name == 'iOS') {
    					url += ('&token=' + encodeURIComponent(inf.token));
    				}
    				url += ('&title=' + encodeURIComponent('Hello H5+'));
    				url += ('&content=' + encodeURIComponent('带透传数据推送通知,可通过plus.push API获取数据并进行业务逻辑处理!'));
    				url += ('&payload=' + encodeURIComponent(
    					'{"title":"Hello H5+ Test","content":"test content","payload":"1234567890"}'));
    				url += ('&version=' + encodeURIComponent(plus.runtime.version));
    				plus.runtime.openURL(url);
    			}
    
    		</script>
    
    	</head>
    	<body>
    		<header id="header">
    			<div class="nvbt iback" onclick="back()"></div>
    			<div class="nvtt">Push</div>
    			<div class="nvbt idoc" onclick="openDoc('Push Document','/doc/push.html')"></div>
    		</header>
    		<div id="dcontent" class="dcontent">
    			<div class="button" onclick="requireNotiMsg()">发送"普通通知"消息</div>
    			<div class="button" onclick="requireLinkMsg()">发送"打开网页"消息</div>
    			<div class="button" onclick="requireDownMsg()">发送"下载链接"消息</div>
    			<div class="button" onclick="requireTranMsg()">发送"透传数据"消息</div>
    			<br />
    			<ul id="dlist" class="dlist">
    				<li class="ditem" onclick="getPushInfo()">获取客户端推送标识</li>
    				<li class="ditem" onclick="createLocalPushMsg()">创建本地消息</li>
    				<li class="ditem" onclick="listAllPush()">枚举推送消息</li>
    				<li class="ditem" onclick="clearAllPush()">清空推送消息</li>
    				<!--<li class="ditem" onclick="plus.push.setAutoNotification(false)">关闭自动显示消息</li>
    				<li class="ditem" onclick="plus.push.setAutoNotification(true)">开启自动显示消息</li>-->
    			</ul>
    		</div>
    		<div id="output">
    			Push模块管理推送消息功能,可以实现在线、离线的消息推送,通过plus.push可获取推送消息管理对象。
    		</div>
    	</body>
    </html>
    
    展开全文
  • html5+Canvas+游戏开发实战

    千次下载 热门讨论 2013-05-07 13:35:19
    本人从华章图书网站下的资源 为了与大家分享 遂上传 有兴趣游戏开发的朋友可看看
  • HTML5+CSS3 精美登陆界面源码

    千次下载 热门讨论 2016-01-19 09:52:44
    3个很精美的登陆界面,全都是用HTML5+CSS3开发的,所以可能不适合低版本IE浏览器。大家可以下来看看,做的超级漂亮的。
  • html5+css3+JS代码

    千次下载 热门讨论 2012-05-22 13:55:26
    《精通html5+css3+JavaScript页面设计》代码
  • HTML5+CSS3学习总结(完结)

    千次阅读 多人点赞 2020-06-14 21:45:05
    一、HTML5的语义化 二、CSS3动画 三、CSS3阴影 四、CSS3过渡(非常重要) 五、弹性布局 六、栅格布局 七、渐变 八、媒体查询
  • mui、HTML5+、5+Runtime的关系说明

    千次阅读 2018-05-07 00:29:56
    mui是一个前端框架,HTML5+是一套HTML5能力扩展规范,HTML5+ Runtime是实现HTML5+规范的强化浏览器引擎。 有点类似于bootstrap、w3c和chrome os的关系。 HTML5+规范隶属于http://www.html5plus.org,定义了HTML5...
  • 记得去年年底我一口气上传了200多个文件,5个文件上前五,今年主要以质量为主,这个资源是我最近...2、网站使用最前沿的html5技术,值得借鉴。 3、网站已经全面深度seo。对搜索引擎很亲密。 4、最大的好处:免费下载。
  • HTML5+CSS3期末考试大题

    万次阅读 2019-01-08 21:24:01
    DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;file&lt;/title&gt; &lt;style&gt; .content{ w
  • 前端HTML5+CSS3静态页面开发-博文尚美

    千次阅读 多人点赞 2020-07-25 21:49:37
    前端html5+css3静态页面开发-博文尚美 项目介绍 博文尚美是一个设计网站, 此项目由html + css 布局完成页面,对前端基础知识的入门及掌握有非常好的提升效果,对html和css的使用及布局的体验能够建立起强大的信心。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,529,648
精华内容 1,411,859
热门标签
关键字:

html5+