Saber 酱的抱枕

Fly me to the moon

12/3
2015
学习

使用js打印评分

四星:
二星:
三星:
零星:

<div class="rating" date-rating="4">四星:</div>
<div class="rating" date-rating="2">二星:</div>
<div class="rating" date-rating="3">三星:</div>
<div class="rating" date-rating="0">零星:</div>
<script type="text/javascript">
  function getRating(rating) {
      if(rating > 5 || rating < 0) throw new Error('数字不在范围内');
      return '★★★★★☆☆☆☆☆'.substring(5 - rating, 10 - rating );
  }
  var ratingwrap=document.getElementsByClassName("rating");
  for (var i = 0; i < ratingwrap.length; i++) {
    ratingwrap[i].innerHTML=getRating(ratingwrap[i].getAttribute("date-rating"));
  };
</script>

前几天在知乎上看到了一些巧妙的JavaScript代码,这个单独记录一下。设想满星5星的评分(也可以是10星,自己改代码),用js截取字符打印出评分。

我们一般的思路是先打印实心星星,然后补满空心星星。然而这个代码(getRating函数)把实心星星和空心星星放一起,一次截取完成。突破性的思维,令人不得不惊叹。

如果有半分制,又该怎么做呢?

嗯,似乎还找不到半实心半空心的五角星字符 ←_←

使用js打印评分

12/2
2015
学习

隐藏百度贴吧帖子列表的摘要内容

虽然也没什么卵用就是了。使用chrome的Tampermonkey扩展,新建脚本,作用域为“http://tieba.baidu.com/*”,首先在头部注释里引用keymaster.js:

// @require /f/keymaster.js

然后添加如下js代码:

key('alt+a', function(){
	var _allList=document.getElementsByClassName("threadlist_detail");
	if(_allList[0].style.display!="none"){
		for (var i = 0; i < _allList.length; i++) {
			_allList[i].style.display="none";
		};
	}else{
		for (var i = 0; i < _allList.length; i++) {
			_allList[i].style.display="block";
		};
	}
	return false;
});

在页面中按快捷键alt+a(这个可以自己修改),可以隐藏/显示帖子摘要内容。

没什么技术含量的东西,不过一开始没想到用Tampermonkey来做,费了不少事,走了两次弯路←_←

隐藏百度贴吧帖子列表的摘要内容

12/2
2015
学习

网站屏蔽国内访问的办法

之前有篇文章:《屏蔽北京地区对网站的访问》,用的是判断ip归属地的方法。现在又有个网站要屏蔽国内访问。新浪的这个api返回了国家或地区的名称,不妨一试。

<script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js" type="text/ecmascript"></script>
<script type="text/javascript">
	var country=remote_ip_info["country"];
	if(country=="中国"){
		// do someting
	 }
 </script>

另外有个“邪门”的办法:判断浏览器语言。

if ((navigator.language || navigator.browserLanguage).toLowerCase()=="zh-cn") {
  newwin = window.open("","_parent","");  
  newwin.close(); 
  location.href="http://404";
};

如果浏览器语言设置是zh-cn,百分之九十九是中国的,然后就看你怎么做了。

这段代码里有四个兼容性处理的地方。一是获取浏览器语言设置(IE6、7、8不支持navigator.language);二是将语言设置转换为小写(大多数浏览器都是zh-CN,但ie8是全小写的);三是大括号内的代码,关闭当前页面(如果直接用window.close()的话ie7和8会弹出个对话框询问你是否同意关闭页面)(IE爆炸吧!)。最后一句姑且算是兼容性处理,因为在手机浏览器上无法用js关闭页面,只好跳转到一个错误网址去。
Read More →

网站屏蔽国内访问的办法

12/1
2015
ACG

初音cosplay合集!

科學麺 初音未来  cosplay miku cos 深海少女

昨晚在哔哩哔哩上看到了一个视频——《那些惊艳的初音未来COSPLAY!!》。三十多分钟里,展示了数百张高质量的初音未来cos图!相信你总能找到自己喜欢的。另外点进up主空间还有更多的系列cos哦~真是良心up主口牙。

本文中发的这些图都是台湾coser科學麺的作品,主题自然是深海少女~ 好美呀
Read More →

初音cosplay合集!

11/30
2015
学习 软件

iis网站突然出现401.1错误的解决办法

服务器上的某个网站,好端端的忽然就401错误了:

HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。

我们要注意到,这里的重点是凭据而非权限。

查找了不少资料,总结了最靠谱的排查和解决办法如下:

1.到IIS中查看“目录安全性”中使用的匿名账户。

iis 401.1错误 解决办法
Read More →

iis网站突然出现401.1错误的解决办法

11/28
2015
学习 软件

Adblock Plus拦截广告的“误杀”

昨天快下班的时候,经理走过来,拿着他的爱疯6对我说道:下午上线的手机站怎么有些地方很空?我拿过手机一看,有些地方的背景图片没有显示出来……

这个问题在网站上线之前我就在电脑上发现过,可是我没去解决。为什么?因为我感觉这算是特例。

有三张背景图片未显示,查看控制台,发现三个图片都遇到了错误。仔细看看还不是404错误,而是net::ERR_BLOCKED_BY_CLIENT:对服务器的请求已遭到某个扩展程序的阻止。

以前在某个站上也遇到过这个问题,当时以为是报的404错误,然而图片路径明明没错啊。现在明白了,我用友♂善的眼神看了看右上角的Adblock Plus。果不其然……

滚过来背锅!我图片名写成ad1.jpg、ad2.jpg于是你就当做ad拦截了?那我要是给body加个名为“ad”的class名你敢不敢拦截整个网页?

考虑到这个网站是移动端竞价网站,浏览者只会在手机浏览器上看到,应该不存在这个问题,于是我就没去改。不曾想,爱疯6的浏览器(经理用的应该就是默认的Safari)竟然先进如斯,整合了Adblock Plus的功能甚至代码?

于是把这三张图的名字随便改了下,这个问题就消失了。

ps:同事爱疯4的Safari没有这个现象。当然,他也没升级ios系统,否则就难说了。

Adblock Plus拦截广告的“误杀”

11/21
2015
其他

一张会“变化”的图,福利 or 恐怖?

16/1/14更新一张:

png 半透明 错觉 福利

贴上来在我这网站背景上直接暴露了。

白色背景时:
png 半透明 错觉 福利

黑色背景时:
png 半透明 错觉 福利

这个是在qq群里看到的,其实原理一样,这图自带半透明白色背景,发在聊天框里看不出来问题。双击查看的时候,由于有黑色背景,福利就显现出来了。

除了卵圆形那部分是不透明的,其余的地方,颜色越深的(例如两颗樱桃),其实透明度越高。
Read More →

一张会“变化”的图,福利 or 恐怖?