您的位置:首页 > 移动开发 > 微信开发

HTML5 微信牛牛源码搭建教程详解

2018-03-06 09:27 691 查看
微信牛牛源码搭建教程 详细咨询 Q 2171793408  官网地址: http://wowotouba.com/h5

什么是 HTML5

HTML5并不仅仅只是做为HTML标记语言的一个最新版本,更重要的是它制定了Web应用开发的一系列标准,成为第一个将Web做为应用开发平台的HTML语言。HTML5定义了一系列新元素,如新语义标签、智能表单、多媒体标签等,可以帮助开发者创建富互联网应用,还提供了一些Javascript API,如地理定位、重力感应、硬件访问等,可以在浏览器内实现类原生应用。我们甚至可以结合 Canvas 开发网页版游戏。微信牛牛源码搭建教程  Q 2171793408   http://wowotouba.com/h5
HTML5
的广义概念:HTML5代表浏览器端技术的一个发展阶段。在这个阶段,浏览器的呈现技术得到了飞跃发展和广泛支持,它包括:HTML5、CSS3、Javascript
API在内的一套技术组合。
HTML5
不等于 
HTML next version
HTML5
 包含: 
HTML
的升级版、
CSS
的升级版、
JavaScript API
的升级版。总结:
HTML5
是新一代开发 Web 富客户端应用程序整体解决方案。包括:HTML5,CSS3,Javascript API在内的一套技术组合。富客户端:具有很强的交互性和体验的客户端程序。比如说,浏览博客,是比较简单的客户端;一个在线听歌的网站、即时聊天网站就是富客户端。在前端的开发过程中,免不了进行各种调试和测试。在不同的平台,不同的环境下的调试方法也不尽相同,这个系列文章将探索常见的一些前端调试场景,较为系统地整理出一些调试方法。主要包含在 PC上的 IE、FireFox、Chrome、Safari、Edge浏览器开发工具调试,远程真机 安卓微信页面、安卓常见浏览器、WebView环境、iPhone微信页面、iPhone的Safari调试API测试工具Postman、抓包工具Fiddler,Charles,Packet Capture,HttpInterceptor、微信开发者工具、Node环境调试等 以下是项目的目录结构及说明  build是webpack配置  build.js       // 生产环境构建代码  check-versions.js // 检查node&npm等版本  utils.js          // 构建配置公用工具  vue-loader.conf.js // vue加载器  webpack.base.conf.js // webpack基础环境配置  webpack.dev.conf.js //  webpack开发环境配置  webpack.prod.conf.js // webpack生产环境配置  config——vue项目配置  dev.env.js  // 开发环境变量(看词明意)  index.js //项目一些配置变量  prod.env.js // 生产环境变量  node_modules——[依赖包]  src——[项目核心文件]  App.vue——根组件  main.js——入口文件  router——路由配置  static// 静态文件,比如一些图片,json数据等  editorconfig// 定义代码格式  gitignore// git上传需要忽略的文件格式  index.html//主页  package.json// 项目基本信息  README.md// 项目说明websocket简单API
1.构造函数
WebSocket 对象作为一个构造函数,用于新建 WebSocket 实例。
var ws = new WebSocket('ws://localhost:8080');
执行上面语句之后,客户端就会与服务器进行连接。
2.状态返回
readyState属性返回实例对象的当前状态,共有四种。
CONNECTING:值为0,表示正在连接。
OPEN:值为1,表示连接成功,可以通信了。
CLOSING:值为2,表示连接正在关闭。
微信牛牛源码搭建教程  Q 2171793408   http://wowotouba.com/h5
CLOSED:值为3,表示连接已经关闭,或者打开连接失败。
下面是一个示例。switch (ws.readyState) {
case WebSocket.CONNECTING:
// do something
break;
case WebSocket.OPEN:
// do something
break;
case WebSocket.CLOSING:
// do something
break;
case WebSocket.CLOSED:
// do something
break;
default:
// this never happens
break;
}
3.回调函数
实例对象的onopen属性,用于指定连接成功后的回调函数。ws.onopen = function () {
ws.send('Hello Server!');
}
如果要指定多个回调函数,可以使用addEventListener方法。ws.addEventListener('open', function (event) {
ws.send('Hello Server!');
});
4.关闭回调函数
实例对象的onclose属性,用于指定连接关闭后的回调函数。ws.onclose = function(event) {
var code = event.code;
var reason = event.reason;
var wasClean = event.wasClean;
// handle close event
};ws.addEventListener("close", function(event) {
var code = event.code;
var reason = event.reason;
var wasClean = event.wasClean;
// handle close event
});
5.指定服务器数据后的回调函数
实例对象的onmessage属性,用于指定收到服务器数据后的回调函数。ws.onmessage = function(event) {
var data = event.data;
// 处理数据
};ws.addEventListener("message", function(event) {
var data = event.data;
// 处理数据
});
注意,服务器数据可能是文本,也可能是二进制数据(blob对象或Arraybuffer对象)。ws.onmessage = function(event){
if(typeof event.data === String) {
console.log("Received data string");
}if(event.data instanceof ArrayBuffer){
var buffer = event.data;
console.log("Received arraybuffer");
}
}
除了动态判断收到的数据类型,也可以使用binaryType属性,显式指定收到的二进制数据类型。// 收到的是 blob 数据
ws.binaryType = "blob";
ws.onmessage = function(e) {
console.log(e.data.size);
};// 收到的是 ArrayBuffer 数据
ws.binaryType = "arraybuffer";
ws.onmessage = function(e) {
console.log(e.data.byteLength);
};
6.向服务器发送数据
实例对象的send()方法用于向服务器发送数据。
发送文本的例子。ws.send('your message');
发送 Blob 对象的例子。var file = document
.querySelector('input[type="file"]')
.files[0];
ws.send(file);
发送 ArrayBuffer 对象的例子。// Sending canvas ImageData as ArrayBuffer
var img = canvas_context.getImageData(0, 0, 400, 320);
var binary = new Uint8Array(img.data.length);
for (var i = 0; i < img.data.length; i++) {
binary[i] = img.data[i];
}
ws.send(binary.buffer);
7.错误处理方式
实例对象的onerror属性,用于指定报错时的回调函数。socket.onerror = function(event) {
// handle error event
};socket.addEventListener("error", function(event) {
// handle error event
});
8.数据长度判定
实例对象的bufferedAmount属性,表示还有多少字节的二进制数据没有发送出去。它可以用来判断发送是否结束。var data = new ArrayBuffer(10000000);
socket.send(data);if (socket.bufferedAmount === 0) {
// 发送完毕
} else {
// 发送还没结束
}
微信牛牛源码搭建教程  Q 2171793408   http://wowotouba.com/h5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  H5 源码 牛牛 搭建