一,方案1
1、JS代码:
//js部分开始
var wxNumber = ['微信号1','微信号2','微信号3','微信号4'];
var firstOpenTime = localStorage.getItem('firstOpenTime'); // 第一次打开时,写入缓存的微信号
// 将时间戳转换成日期格式
var date = new Date();
Y = date.getFullYear() + '-';
M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
D = date.getDate() + ' ';
h = date.getHours() + ':';
m = date.getMinutes() + ':';
s = date.getSeconds();
console.log(Y+M+D+h+m+s);
// 思路:↓↓↓↓↓↓↓
// 1440 一天有1440分钟
// 1440/15 = 96 一天要轮换96次
// 获取当天的凌晨时间
// 获取打开时间
// 打开时间 - 凌晨时间 过了多少分钟
// 过了多少分钟 / 15 = 轮换了多少次
// 凌晨时间:将日期格式转换成时间戳
var zeroTime = Y+M+D+' 00:00:00:000'; // 当天的凌晨时间
var zeroTime_t = new Date(zeroTime.replace(/-/g, '/')); // 格式化凌晨时间
var zeroTime_timestamp = zeroTime_t.getTime(); // 将 Y+M+D+h+m+s 格式转换成时间戳格式
console.log('零'+zeroTime_timestamp);
// 获取打开时间的时间戳 单位毫秒
// var nowTime = new Date();
var nowTime = new Date().getTime();
console.log('现'+nowTime);
// 时间差:打开时间 减去 凌晨时间
var difference = nowTime - zeroTime_timestamp;
console.log(difference);
// 15分钟有多少毫秒
var fift = 15*60*1000;
var count = Math.floor(difference/fift); // 在这个时间差内,轮换了多少次
console.log(count);
// 一共有多少个微信号
var wxNumber_count = wxNumber.length;
console.log(wxNumber_count);
// 打开时间 改轮换到了哪一个
var wx_index = count % wxNumber_count;
console.log(wx_index);
console.log(wxNumber[wx_index]);
if(typeof(Storage)!==undefined && firstOpenTime==null){ // setp 1. 第一次打开页面的情况
// 浏览器支持,且本地缓存的‘firstOpenTime’为空
localStorage.setItem('firstOpenTime',wxNumber[wx_index]); // 将第一次打开页面时随机的微信号缓存进本地
$('.wxcopy').html(wxNumber[wx_index]);
console.log('第一次打开页面,设置操作'+firstOpenTime);
}else if(typeof(Storage)!==undefined && firstOpenTime!=null){ // setp 2. 之前打开过页面的情况
// 浏览器支持,且本地缓存的‘firstOpenTime’不为空
$('.wxcopy').html(firstOpenTime);
console.log('之前打开过页面,读取操作+'+firstOpenTime);
}else { // setp 3. 不支持web storage的情况,默认选择第一个
console.log('sorry, you browser does not support Web storage...')
$('.wxcopy').html(wxNumber[0]);
}
//js部分结束
2、HTML代码:
<!--html部分开始-->
<a><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%3EwxNumber()%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="<script>" title="<script>" /></a>
<!--html部分结束-->
二,方案2
这样可以实现多个微信号,每隔十五分钟切换一个。但是存在弊端,如果有图片二维码要同步切换就麻烦了。
1、JS代码:
//js部分开始
function weiXinHao() {
today=new Date();
var day;
var date;
var weiXinHao;
hour=new Date().getHours()
if(hour < 8)weiXinHao='微信号1'
else if(hour < 16)weiXinHao='微信号2'
else {weiXinHao='微信号3'}
var webUrl = webUrl;
document.write(' '+weiXinHao);
}
function erWeiMa() {
today=new Date();
var day;
var date;
var erWeiMa;
hour=new Date().getHours()
if(hour < 8)erWeiMa='<img src="二维码图片地址" style="属性:值;">'
else if(hour < 16)erWeiMa='<img src="二维码图片地址" style="属性:值;">'
else {erWeiMa='<img src="二维码图片地址" style="属性:值;">'}
var webUrl = webUrl;
document.write(' '+erWeiMa);
}
//js部分结束
2、HTML代码:
<!--html部分开始-->
<script>weiXinHao()</script>
<script>erWeiMa()</script>
<!--html部分结束-->
控制时间,在00:00-08:00是一个号,08:00-16:00是一个号,16:00到24:00是一个号。这样一来也可以达到分散流量均到不同的接入微信账号上的目的。还可以嵌套更多的if else。调用也是非常简单。
而且可控多处,代码简单易于维护,比如erWeiMaTop和erWeiMaBottom(因为可能有不同的样式或风格吧)。