deeplink场景:在分享的web页面中,点击某控件,直接打来apk的指定位置
前段html代码(来自http://blog.csdn.net/u012792689/article/details/53925547?_t_t_t=0.663925763219595博主代码):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
<title>CAIXIAOcamera open video demotitle>
<meta id="viewport" name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,minimal-ui">
head>
<body>
<div>
<a id="J-call-app" href="javascript:;" class="label">打开CAIXIAO相机视频>>a>
<input id="J-download-app" type="hidden" name="storeurl" value="http://static.s3.CAIXIAO.com/Object.access/hj-video/aHVhamlhb19jYW1lcmFfc2p3cy5hcGs=">
div>
<script>
(function(){
var ua = navigator.userAgent.toLowerCase();
var t;
var config = {
/*scheme:必须 http://v.CAIXIAO.com/m/27812117.html */
//scheme_IOS: 'will://',
scheme_Adr: 'hjcamera://v.CAIXIAO.com/m/27812117.html',
download_url: document.getElementById('J-download-app').value,
timeout: 600
};
function openclient() {
var startTime = Date.now();
var ifr = document.createElement('iframe');
ifr.src = ua.indexOf('os') > 0 ? config.scheme_IOS : config.scheme_Adr;
ifr.style.display = 'none';
document.body.appendChild(ifr);
var t = setTimeout(function() {
var endTime = Date.now();
if (!startTime || endTime - startTime < config.timeout + 200) {
window.location = ifr.src;
//window.location = config.download_url;
} else {
//window.location = ifr.src;
}
}, config.timeout);
window.onblur = function() {
clearTimeout(t);
}
}
window.addEventListener("DOMContentLoaded", function(){
document.getElementById("J-call-app").addEventListener('click',openclient,false);
}, false);
})()
script>
body>
html>
在web浏览器请求网页时,HTTP头和请求一起发送,并且每次服务端响应请求,将网页发送回客户端时,它会将http头也发送回客户端
meta 标签:mate标签位于部分(不会在中使用),它包含与文档相关的信息,可以帮助搜索引擎索引王扎网站,指定文档的作者,以及如果文档具有时效性,可以指定网页什么时候过期
标签可以附带8个特性,4个通用特性:dir,lang,xml:long和title,+4个特有特性:achema,name,content,http-equiv
name特性和content特性通常是一起使用,http-equiv特性和cotent特性一起使用
1.name特性和content特性
name特性的值是正在设置的属性,并且content特性的值就是网页的name中的具体内容。name特性的值可以是任何内容,没有规定限制。
2.http-equiv特性和content特性
http-equiv和content用于设置HTTP头的值,举些例子:
使页面过期:
浏览器具有缓存功能,缓存中存储了浏览过的网页,如重新方位一个已经访问过的网页,浏览器会在缓存中加载某些或所有网络,这样会使网页加载更快,但这样也不会重现检索整个网页
<mate http-equiv= "expires" content="Fri, 16 April 2017 12:30:00 GMT" />
但!!!在中添加如上信息,用户在过期之后加载该网页,浏览器不会使用缓存,浏览器将尝试从服务器中获取最新的版本(运营后台配置信息)
阻止浏览器缓存页面
<mate http-equid="pragma" content="no-cache">
刷新和重定向网页
<mate http-equiv="refresh" content="10;http://www.baidu.com">
指定作者姓名
<mate http-equiv="author" content="caixiao_engineer">
设置字符编码
常言到对js来说,全局变量是魔鬼,但是,匿名函数就可以划出一块私有作用域,避免数据污染;执行完就销毁,避免内存长驻。
3.navigator.userAgent.toLowerCase();
navigator是HTML中的内置对象,包含浏览器的信息;userAgent是navigator的属性方法,可以返回由客户机发送服务器的头部的值,作用其实就是就是返回当前用户所使用的是什么浏览器,toLowerCase()是将转换为小写。
…….未完待续!!!!!!!!!!!!!!!!!!!!!!!!