我想挂钩IIFE功能:
(function(p) {
// stuff
})();
我在一般意义上问这个,虽然具体原因是WordPress插件经常将内联脚本直接放入正文输出中。如果你想因SEO原因推迟(异步)加载依赖项,它自然会失败。
为了解决插件提供程序中无休止的糟糕编码实践,以及根本不考虑异步加载而设计的插件,我想做这样的事情。
我试图避免:
我想知道浏览器dom中是否有一些极低级别的原型可以用来截取那种性质的功能?
答案 0 :(得分:0)
所以我最终做了我想避免的事情。它有点脏,但效果很好。我会分享,但NDA。如果可能的话,我会尝试将其作为拉取请求提交给其中一个较大的SEO /缓存插件(可能是Better Wordpress缩小版)。
它会扫描输出缓冲区中的问题脚本和样式,并将其调整为符合Google SEO(非阻塞)。我想这对于gen-pop来说永远不会有用,因为这个世界中编码不好的数量是无穷无尽的,而且我认为在处理所有用例时,正则表达式会变得非常臃肿。
它依赖于loadCSS和某种形式的本机DocumentContentLoaded在头部内联定义,首先强制推迟所有源脚本,清理设计为在其自己的脚本标签中执行的javascript,并移动正文脚本成为一个单独的函数,可以在时机成熟时调用。 全部都是正则表达式。
以下是有兴趣做类似事情的人的一些指示:
大声聆听此处提供的所有评论和帮助,在没有先与您说话的情况下,我们甚至都没有尝试过。感谢指点和建议,下次见!