这两天发现百分浏览器书签无法同步,才知道Chrome同步助手失效了。我用Chrome同步助手了快两年了,第一次碰到这种情况。目前原因未知。之后如何同步书签,是个待解决的问题。

2022-09-07:发现好了,但连接速度比较慢。

Win10系统应用中的文件资源管理器,我总是用不顺手(没有像浏览器一样的标签,打开新文件夹很麻烦)。曾经尝试用过Q-Dir、XYplorer等第三方软件,功能倒是挺强,但是又不如文件资源管理器简洁、专一。计划找到管理文件合适的替代方案。

找到合适软件,Total Commander飞扬时空增强版。软件启动速度快,界面美观、合理,功能强大。默认双窗口、多标签,非常好。

在阮一峰的博客上看到markdeep。这是一款可以预览markdown文本的js插件,可以集成到各个文本编辑器中。但没有现成的sublime插件,需要手动编写,可以在谷歌搜索到解决办法。

另外,markdown是通用的可读性较好的文本格式,使用广泛。所以,markdeep的使用场景就很多,比如直接将markdown文本转为html网页。但目前我用不到,只做了解,不做实际测试。

参考自知乎:https://zhuanlan.zhihu.com/p/43282197

问题描述

HTML三大组成:html、js、css。

由此,提出问题:这三者之间是什么关系?是否会相互产生出乎预期的影响?

合作关系

网页主要有三部分组成,结构(HTML)、表现(CSS)、行为(Javascript)。

html是主体,装载各种dom元素;css用来装饰dom元素;javascript控制dom元素。

相互影响

  • js执行会阻塞DOM树的解析和渲染吗?
    会。
  • css加载会阻塞DOM树的解析和渲染吗?
    css加载不会阻塞DOM树的解析、css加载会阻塞DOM树的渲染。
  • css加载会阻塞后面的js执行吗?
    会。
  • css加载可以间接阻塞DOM树的解析吗?
    可以。因为css会阻塞js执行,而js执行又可以阻塞DOM树的解析。

典型案例

  • js中存在ajax同步调用,执行时间太长
  • css文件太大,网络请求时间太长

找到了网站底部广告合适的解决办法。在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>