提交 b6149e28 编写于 作者: X xiongbao

Update: 优化动态Favicon展示场景(仅PC端),新增多个天气APPKEY,轮换使用。

上级 89860298
...@@ -176,28 +176,52 @@ ...@@ -176,28 +176,52 @@
</style> </style>
<script src="./assets/js/jquery.js"></script> <script src="./assets/js/jquery.js"></script>
<script> <script>
var favicon_images = [ function getOS() {
'./assets/images/favicon/0.jpg', var userAgent = window.navigator.userAgent,
'./assets/images/favicon/1.jpg', platform = window.navigator.platform,
'./assets/images/favicon/2.jpg', macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'],
'./assets/images/favicon/3.jpg', windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'],
'./assets/images/favicon/4.jpg', iosPlatforms = ['iPhone', 'iPad', 'iPod'],
'./assets/images/favicon/5.jpg' os = null;
], if (macosPlatforms.indexOf(platform) !== -1) {
image_counter = 0; // To keep track of the current image os = 'Mac OS';
} else if (iosPlatforms.indexOf(platform) !== -1) {
os = 'iOS';
} else if (windowsPlatforms.indexOf(platform) !== -1) {
os = 'Windows';
} else if (/Android/.test(userAgent)) {
os = 'Android';
} else if (!os && /Linux/.test(platform)) {
os = 'Linux';
}
return os;
}
var os = getOS();
if(os !== 'iOS' || os !== 'Android') {
// 非移动端平台下才设置动态favicon
var favicon_images = [
'./assets/images/favicon/0.jpg',
'./assets/images/favicon/1.jpg',
'./assets/images/favicon/2.jpg',
'./assets/images/favicon/3.jpg',
'./assets/images/favicon/4.jpg',
'./assets/images/favicon/5.jpg'
],
image_counter = 0; // To keep track of the current image
setInterval(function() { setInterval(function() {
$("link[rel='icon']").remove(); $("link[rel='icon']").remove();
$("link[rel='shortcut icon']").remove(); $("link[rel='shortcut icon']").remove();
$("head").append('<link rel="icon" href="' + favicon_images[image_counter] + '" type="image/jpeg">'); $("head").append('<link rel="icon" href="' + favicon_images[image_counter] + '" type="image/jpeg">');
// If last image then goto first image // If last image then goto first image
// Else go to next image // Else go to next image
if(image_counter == favicon_images.length -1) if(image_counter == favicon_images.length -1)
image_counter = 0; image_counter = 0;
else else
image_counter++; image_counter++;
}, 80); }, 80);
}
</script> </script>
</head> </head>
...@@ -233,23 +257,35 @@ ...@@ -233,23 +257,35 @@
var cond = localStorage.getItem('cond') || ''; var cond = localStorage.getItem('cond') || '';
var dateStart = new Date(localStorage.getItem('date') || new Date()); var dateStart = new Date(localStorage.getItem('date') || new Date());
var dayDiff = date.getDate() - dateStart.getDate(); var dayDiff = date.getDate() - dateStart.getDate();
var weatherKeys = ['fbb7fed63979495f88fc1ddc7296f497','f3488e987bce466d8ae6b523becf278f','95cf38cd40b84df9beae340c610e8550','3cad9669ecba42c39ebfd73cdb566329','6ec2f3eef9bc448ba8a72e815dd86f12'];
if(city == '' || dayDiff >= 1) { if(city == '' || dayDiff >= 1) {
$.post( var weather = {};
'https://free-api.heweather.net/s6/weather/now?location=auto_ip&key=填你自己的', for(var i=0;i < weatherKeys.length; i++) {
function(data){ weather = getWeather(weatherKeys[i]);
var weather = data.HeWeather6[0] || {}; console.log(weatherKeys[i]+':'+weather.status)
city = weather.basic.parent_city || ''; if (weather.status == 'ok') { break };
cloud = weather.now.fl || '' }
cond = weather.now.cond_txt || '' city = weather.basic.parent_city || '';
localStorage.setItem('city',city); cloud = weather.now.fl || ''
localStorage.setItem('cloud',cloud); cond = weather.now.cond_txt || ''
localStorage.setItem('cond',cond); localStorage.setItem('city',city);
localStorage.setItem('date',new Date()); localStorage.setItem('cloud',cloud);
renderWeather(); localStorage.setItem('cond',cond);
},'json' localStorage.setItem('date',new Date());
) // 天气结束 }
} else { renderWeather();
renderWeather();
function getWeather(key) {
var weatherData = {};
$.ajax({
url: 'https://free-api.heweather.net/s6/weather/now?location=auto_ip&key='+key,
type: 'get',
async: false,
success : function(data){
weatherData = data.HeWeather6[0];
}
});
return weatherData;
} }
function renderWeather(){ function renderWeather(){
var weatherHTML = '<time>'+ year+'-'+month+'-'+day+'</time><span>'+city+'·'+cond+'·'+cloud+'&#8451;</span>' var weatherHTML = '<time>'+ year+'-'+month+'-'+day+'</time><span>'+city+'·'+cond+'·'+cloud+'&#8451;</span>'
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册