如何防止网站屏蔽插件?莆田系医院网站提醒Chrome插件 v1.1.1版本

一、医院屏蔽措施
本插件的使用用户量目前还比较多,代码开源,在github上过trendign首页,现在医院网站正对插件屏蔽方法有三种:
1.1 CSS display
之前的版本提示vid采用固定的id,固定显示的body结束标签上方。

1.2 Javascript DOM remove
 
由于采用固定的id和固定的位置,所以完全可以直接remove。

1.3 * {display:none!important}
 
索性整个网站不显示。
 
二、反屏蔽方法:

2.1 针对Css Display的方法
 
直接设置Css属性important即可,如下:
var cssText = "display:block!important;" +
"background-color:red!important;" +
"width:" + window.screen.availWidth + "px!important;" +
"height:50px!important;" +
"font-family:'Source Sans Pro', 'Microsoft Yahei',sans-serif,Arial!important;" +
"font-size:30px!important;" +
"color:black!important;" +
"position:fixed!important;" +
"left:0!important;bottom:0!important;" +
"z-index:2147483647!important;" +
"text-align:center!important;" +
"line-height:50px!important;"
另外,使用随机的id,随机的DOM位置来阻止Css样式屏蔽,具体可以看代码: https://github.com/hustcc/PTHospital.chrome/blob/master/res/content.js 

2.2 针对1.2中js删除的dom的办法
 
首先随机的id和随机的DOM位置可以有一些效果,但是他们完全可以采取div内容的匹配方式来删除,所以针对这种屏蔽措施,我加了定时器去扫描提示的div是否存在,如果不存在,再补一次。代码大概如下:
// 循环检查防止屏蔽
setTimeout(function() {getMaskContainer(name, phone);}, 1000);
2.3 针对1.3 直接全站不显示
 
其实我也没有什么办法,但是既然他全部网页都不显示了,那么也不会对用户造成损害了,所以也可以放他一马。如果你有好的办法,欢迎告诉我。

----
最新版主要优化了提示显示的时机,并且增加了医院的数据,另外,增加了医院网站反屏蔽的方法。
Github地址:https://github.com/hustcc/PTHospital.chrome  

更新日志如下:

v1.1.1 
1. 修复某些网站没有描述信息的bug; 
 
v1.1.0  
1. 增加使用网页名字和描述匹配,对于百度百科等介绍网站的页面也会进行提示; 
2. 增加一些防止医院屏蔽的措施; 
3. 增加莆田医院数据; 
 
v 1.0.8 
1. 针对一些医院的屏蔽措施,加入一些防止屏蔽的代码; 
2. 优化提示信息加载时间,无须等到网站加载完毕才提示;
 

0 个评论

要回复文章请先登录注册