2022-08-22 网站底部广告
找到了网站底部广告合适的解决办法。在js中调用停止页面加载的方法。
<script type="text/javascript">
window.stop();
</script>
但此方法,在特定情况下也存在问题。如果在这段代码之前的js代码中存在异步操作或者有dom加载完成才有的操作时,会发生阻塞,导致页面异常。比如本网站的管理后台中,文章的编辑页面不显示编辑工具条。因此,管理后台不适合采用这种方式。当然,网站前台则没有问题,因为前台完全没有使用js代码。
在思考了种种方式之后,想到应该从服务商使用html注入的方式入手。html注入原理是,通过服务器软件在</body>
标签之前写入一段元素。那么要解决的话,就得让</body>
元素消失或者注释掉。之所以可以注释掉该元素,是因为浏览器具有容错性,会自动添加缺失的标签。这样,即使有html注入,注入的代码也在注释之中,不会被解析。问题完美解决。
当然,还有其他方法,但不太合适。比如,在js中写代码,使页面加载完成后,隐藏body最后一个子元素。不合适的原因:元素仍然会加载,占用资源、不美观。
<script type="text/javascript">
window.onload = function () {
document.getElementsByTagName("body")[0].lastElementChild.style.display = 'none';
};
</script>