为什么会白屏?手机版网页的最后会有这么一段代码:
<div style="display:none;">
<script src="https://www.gamemale.com/static/js/tong.js" type="text/javascript"></script>
作用是执行https://www.gamemale.com/static/js/tong.js这个链接中脚本的内容。
链接中脚本的内容是:
document.writeln("<script>var _hmt = _hmt || [];(function() {var hm = document.createElement(\'script\');hm.src = \'https://hm.baidu.com/hm.js?80817f925c3b02adf8624ae886be3766\';var s = document.getElementsByTagName(\'script\')[0];s.parentNode.insertBefore(hm, s);})();</script>");
这个脚本的作用同样是执行一段网络脚本(https://hm.baidu.com/hm.js?80817f925c3b02adf8624ae886be3766),不同的是它的域名不是gm,且插入方法是document.writeln(后者是造成白屏的原因)。
document.writeln若是在网页加载完成后执行,则会清空网页再添加内容。(否则在原有基础上添加)
所以就是最近不知道发生了什么,让原来的这段代码 在网页加载完成后才开始执行,导致清空了页面上的所有东西,只留它自己独守白屏。
解决方法:
1.作为村民,可以切换User Agent为电脑版,多数浏览器有这个功能,或者叫桌面版网页。这样网站就会以为你是电脑,直接发电脑版网页。也有狼狼脑公发了更改固定网站的ua的插件:https://www.gamemale.com/thread-150973-1-1.html(顺便一提,回帖也是通过ua来判断是手机版还是电脑版,所以手机版网页通过脚本发送携带电脑ua的回帖请求能触发勋章)
想继续使用手机版且浏览器支持插件拓展的话也可以用广告屏蔽插件把这个tong.js的地址屏蔽掉,添加这个规则到adguard的“用户过滤器”或者ublock的“静态过滤器”中:
||www.gamemale.com/static/js/tong.js
2.作为村长,可关闭相关功能或者简单备份删除网页目录下/static/js/tong.js这个文件。
电脑版网页同样存在类似的代码:
<div style="display:none;">
<script src="https://www.gamemale.com/static/js/valida.js" type="text/javascript"></script>
<script src="https://www.gamemale.com/static/js/tong.js" type="text/javascript"></script>
除了tong.js还多了valida.js,在网页中插入多个不可见的外站元素和代码,看了下作用应该和百度的那个类似?(搜了下hm.baidu.com似乎是用来统计网站流量的,但是现在访问不了)。
需要更详细的解释?私密马赛早就还给老师了(鞠躬)