禁止清除微信浏览器缓存的方法

 更新时间:2016年9月20日 18:58  点击:1525
浏览器缓存功能是任何一款浏览器在默认情况下都会自动缓存了,如果我们不希望浏览器缓存指定页面的话我们要如何来禁止呢,今天一起来看一篇小编整理的禁止清除微信浏览器缓存的方法.

部分客户装了QQ浏览器,微信实际调用的是QQ浏览器,有时候甚至光清理微信缓存都无效,QQ浏览器的缓存也要清。

按照网上的文章在页面头部加上了如下的内容:

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />

解决方案是在调试阶段或者频繁更新的页面加入以下头信息:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />

最简单的办法就是

地址带随机数参数,同时页面的头标记声明禁止缓存。另外还需要检查你程序的页缓存,是不是做了页缓存。

QQ临时会话在网页中加一行代码就可以了,那么在手机中如何来添加呢,今天我们就一起来看一个例子,具体的细节如下所示.

function qqcao(){
 var type = undefined;
 var param = "";
 var sid = 2;
 var rawuin = 'qq号码';
 var qsig = "undefined";
 var QQApi = {
  openURL: function(url){
   var i = document.createElement('iframe');
   i.style.display = 'none';
   i.onload = function() { i.parentNode.removeChild(i); };
   i.src = url;
   document.body.appendChild(i);
   
   var returnValue = QQApi.__RETURN_VALUE;
   QQApi.__RETURN_VALUE = undefined;
   return returnValue;
  },
  isAppInstalled: function(scheme) {
   var parameters = {'scheme':scheme};
   var r = QQApi.openURL('jsbridge://app/isInstalled_?p=' + encodeURIComponent(JSON.stringify(parameters)));
   return r ? r.result : null;
  },
  isQQWebView: function(){
   return QQApi.isAppInstalled('mqq') == true;
  },
  __RETURN_VALUE: undefined
 };
 var usa=navigator.userAgent;
 var p;
 var mobile_q_jump = {
  android:"https://play.google.com/store/apps/details?id=com.tencent.mobileqq",
  ios:"itms-apps://itunes.apple.com/cn/app/qq-2011/id444934666?mt=8",
  winphone:"http://www.windowsphone.com/zh-cn/store/app/qq/b45f0a5f-13d8-422b-9be5-c750af531762",
  pc:"http://mobile.qq.com/index.html"
 };
 var isMQ = 0;
 if(typeof type == "undefined") type = 1;
 if(usa.indexOf("Android")>-1){
  p = "android";
 }
 else if(usa.indexOf("iPhone")>-1 || usa.indexOf("iPad")>-1 || usa.indexOf("iPod")>-1){
  p = "ios";
 }
 else if(usa.indexOf("Windows Phone") > -1 || usa.indexOf("WPDesktop") > -1){
  p = "winphone";
 }
 else {
  p = "pc";
 }
 if(p == "ios"){
  //防止循环
  if(history.pushState)
   history.pushState({},"t","#");
  isMQ = QQApi.isQQWebView();
  if (!isMQ){
   var sc = document.createElement("script");
   sc.src = "http://__.qq.com/api/qqapi.js";
   sc.onload = function(){
    if(window['iOSQQApi']){
     isMQ =iOSQQApi.device.isMobileQQ();
    }
   };
   document.body.appendChild(sc);
  }
 }
 else if(p == "pc" && qsig != "undefined"){
  window.open(qsig,"_self");
 }
 if(type == 1){//手Q
  var isSuccess = true;
  var f = document.createElement("iframe");
  f.style.display = "none";
  document.body.appendChild(f);
  f.onload = function(){
   isSuccess = false;
  };
  if(p == "ios" && sid == 1){
   f.src = "mqqapi://card/show_pslcard?src_type=internal&version=1&uin="+ rawuin +"&card_type=person&source=qrcode";
  }
  if(p == "ios" && sid == 2){//ios并且为群名片
   f.src = "mqqapi://card/show_pslcard?src_type=internal&version=1&uin="+ rawuin +"&card_type=person&source=qrcode";
  }
  else if(p != "pc"){
   var url = window.location.href.split("&");
   f.src = "mqqopensdkapi://bizAgent/qm/qr?url=" + encodeURIComponent(url[0]);
  }
  if(p == "android" && sid == 1){
   f.src = "mqqapi://card/show_pslcard?src_type=internal&version=1&uin="+ rawuin +"&card_type=person&source=qrcode";
  }
  if(p == "android" && sid == 2){//ios并且为群名片
   f.src = "mqqapi://card/show_pslcard?src_type=internal&version=1&uin="+ rawuin +"&card_type=person&source=qrcode";
  }
  var now = Date.now();
  setTimeout( function(){
   if((p == "ios" && !isMQ && Date.now() - now < 2000) || (p == "android" && !isSuccess) || ((p == "winphone" && Date.now() - now < 2000))){
    var jumpUrl = mobile_q_jump[p];
    if(jumpUrl) window.open(jumpUrl,"_self");
   }
  } , 1500);
  
 }
}


//pc

tencent://Message/?Uin=QQ号码&websiteName=www.cn-mcn.com&Menu=yes

//带图片 pc
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=QQ号码&site=qq&menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=2:QQ号码:41" alt="点击这里给我发消息" title="点击这里给我发消息"/></a>

腾讯视频怎么放到自己的网页上?这个问题是一个基本的问题,要把腾讯视频放到自己的网页有许多的办法,当然一般情况就是直接使用它们的网页代码了,如果你要下载资源再放到服务器这样肯定是不行的,因为流量大呀并且可能有版权问题了,所以我们介绍最简单的。
首先,提供一个腾讯视频嵌入网页代码。我们只需替换这段代码的一部分就可以了。

<p><iframe class="video_iframe" style="z-index:1;" src="http://v.qq.com/iframe/player.html?vid=t01662frswa&amp;width=500&amp;height=375&amp;auto=0" allowfullscreen="" frameborder="0" height="375" width="500"></iframe></p>

找到一段腾讯视频,比如地址:

http://v.qq.com/boke/page/d/0/i/d0163kxz8di.html
这是一段《工业机器人工作场景》的视频,将这个网址的蓝色部分,替换到上面给出的代码中的红色部分,就可以了。

最终效果为:

<p ><iframe class="video_iframe" style="z-index:1;" src="http://v.qq.com/iframe/player.html?vid=d0163kxz8di&amp;width=500&amp;height=375&amp;auto=0" allowfullscreen="" frameborder="0" height="375" width="500"></iframe></p>

下面是腾讯视频嵌入网页的效果:

注意了这个视频放进去我们必须在源码方式下使用了,如我们使用dw编辑器的话必须在源码形式直接放到指定的div,如下所示。

本文章来为各位介绍一篇关于forever进行node服务器的不间断运行的例子,希望这个例子能够对各位同学有所帮助的.

使用node架设服务器的时候,当我们关闭服务窗口,node就会中断,,那么,怎么让服务一直存在呢,node有一个很好的模块可以完成这个工作,forever。

下面记录一些关于forever模块的一些用法:

使用forever运行nodejs应用
何为forever
forever可以看做是一个nodejs的守护进程,能够启动,停止,重启我们的app应用。

官方的说明是说:
A simple CLI tool for ensuring that a given script runs continuously (i.e. forever).
// 一个用来持续(或者说永远)运行一个给定脚本的简单的命令行工具

Github地址:https://github.com/nodejitsu/forever
用途

forever的用途就是帮我们更好的管理我们node App服务,本质上就是在forever进程之下,创建一个node app的子进程。

比如,你有一个基于express的或者其他的一些个应用那么,它将会很方便你更新和操作你的服务,并且保证你服务能持续运行。

更好的一点就是每次更改文件,它都可以帮你自动重启服务而不需要手动重启。
安装forever

// 记得加-g,forever要求安装到全局环境下
sudo npm install forever -g

forever使用说明
启动相关

// 1. 简单的启动
forever start app.js

// 2. 指定forever信息输出文件,当然,默认它会放到~/.forever/forever.log
forever start -l forever.log app.js

// 3. 指定app.js中的日志信息和错误日志输出文件,
//  -o 就是console.log输出的信息,-e 就是console.error输出的信息
forever start -o out.log -e err.log app.js

// 4. 追加日志,forever默认是不能覆盖上次的启动日志,
//  所以如果第二次启动不加-a,则会不让运行
forever start -l forever.log -a app.js

// 5. 监听当前文件夹下的所有文件改动
forever start -w app.js

文件改动监听并自动重启

// 1. 监听当前文件夹下的所有文件改动(不太建议这样)
forever start -w app.js

显示所有运行的服务

forever list

停止操作

// 1. 停止所有运行的node App
forever stopall

// 2. 停止其中一个node App
forever stop app.js
// 当然还可以这样
// forever list 找到对应的id,然后:
forever stop [id]

重启操作

重启操作跟停止操作保持一致。

// 1. 启动所有
forever restartall

更多一些

上面的一些解释足够平常使用,还有待之后继续补充。
开发和线上建议配置

// 开发环境下
NODE_ENV=development forever start -l forever.log -e err.log -a app.js
// 线上环境下
NODE_ENV=production forever start -l ~/.forever/forever.log -e ~/.forever/err.log -w -a app.js

上面加上NODE_ENV为了让app.js辨认当前是什么环境用的。不加它可能就不知道哦?
一些注意点

有可能你需要使用unix下的crontab(定时任务)

这个时候需要注意配置好环境变量。

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

[!--infotagslink--]

相关文章

  • JavaScript判断浏览器及其版本信息

    本篇文章主要分享了通过window.navigator来判断浏览器及其版本信息的实例代码。具有一定的参考价值,下面跟着小编一起来看下吧...2017-01-23
  • js实现浏览器打印功能的示例代码

    这篇文章主要介绍了js如何实现浏览器打印功能,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-15
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本

    第一种,只区分浏览器,不考虑版本 复制代码 代码如下:function myBrowser(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = userAgent.indexOf("Opera") > -1; if (isOp...2014-05-31
  • 详解Vue Cli浏览器兼容性实践

    这篇文章主要介绍了详解Vue Cli浏览器兼容性实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-09
  • 如何使用 JavaScript 操作浏览器历史记录 API

    这篇文章主要介绍了如何使用 JavaScript 操作浏览器历史记录 API,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下...2020-11-24
  • Python获取浏览器窗口句柄过程解析

    这篇文章主要介绍了Python获取浏览器窗口句柄过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-26
  • vue如何调用浏览器分享功能详解

    这篇文章主要给大家介绍了关于vue如何调用浏览器分享的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-20
  • js判断浏览器类型,版本的代码(附多个实例代码)

    在网站前端开发中,浏览器兼容性问题本已让我们手忙脚乱,Chrome的出世不知道又要给我们添多少乱子。浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本。 JavaScrip...2014-05-31
  • JAVA读取文件流,设置浏览器下载或直接预览操作

    这篇文章主要介绍了JAVA读取文件流,设置浏览器下载或直接预览操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-09
  • 网页自动调用国内双核浏览器的极速模式的实现方法

    由于国内好几个浏览器都是双核浏览器(蛋痛,做一个浏览器壳就说国产,而且使用率高),有时打开网页会出现不兼容模式,在极速模式下是好的,现在我们来用代码实现网页自动调用国内...2016-09-20
  • C# 模拟浏览器并自动操作的实例代码

    这篇文章主要介绍了C# 模拟浏览器并自动操作的实例代码,文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-11-03
  • Python爬虫之Selenium实现关闭浏览器

    这篇文章主要介绍了Python爬虫之Selenium实现关闭浏览器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-04
  • JS跨浏览器解析XML应用过程详解

    这篇文章主要介绍了JS跨浏览器解析XML应用过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-10-16
  • vue项目中禁用浏览器缓存配置案例

    这篇文章主要介绍了vue项目中禁用浏览器缓存配置案例,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...2021-09-12
  • 基于jQuery1.9版本如何判断浏览器版本类型

    在jquery.1.9以前的版本,可以使用$.browser很轻松的判断浏览器的类型和版本,但是在1.9中和以后的版本中,$.browser已经被删除,下面就介绍一下如何实现此功能,希望能够给需要的朋友带来帮助...2016-01-14
  • Ajax打开新窗口被浏览器拦截怎么办

    小编推荐的这篇文章介绍了两种Ajax打开新窗口被浏览器拦截的解决方法,有需要的同学可以参考一下 最近在做支付时发现打开支付窗口时被浏览器拦截了,百度了一下才...2017-01-22
  • echarts使图标能自适应浏览器窗口变化,及经纬度转换

    本文章来为各位一篇关于echarts使图标能自适应浏览器窗口变化,及经纬度转换的例子,希望文章能够帮助到各位同学哦。 1、echarts使图标能自适应浏览器窗口变化 wind...2016-09-20
  • 关于angular浏览器兼容性问题的解决方案

    这篇文章主要给大家介绍了关于angular浏览器兼容性问题的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者使用angular具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-07-26
  • php判断用户浏览器类型与来自页面

    php判断用户浏览器类型与来自页面 function chkre(){ global $_SERVER, $r_main; if(isset($_SERVER['HTTP_REFERER'])){ $u=parse_url($_SERVER['HTTP_RE...2016-11-25