gpt4 book ai didi

javascript - 为什么 Gmail 在动态加载 Modernizr 后会变得疯狂?

转载 作者:行者123 更新时间:2023-11-30 18:08:26 25 4
gpt4 key购买 nike

将此输入到 Gmail 内的 Chrome 或 Safari 检查器控制台:

function load(url,cb){var x=document.body.appendChild(document.createElement('script'));x.src=url;x.onload=function(){console.log("Dynamically loaded "+url);if(cb){cb();}};if(!cb){x.setAttribute('async','')}}
load("https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js",function(){alert("Modernizr loaded");});

导致大部分文本的布局变得疯狂。

这能解释一下吗?我希望我的工具(涉及运行动态加载 Modernizr 的小书签)在 Gmail 上工作。

最佳答案

Modernizer 在 <html> 中添加了很多类标签,其中一个类是 js .我在文档中找不到任何描述它代表什么的内容,尽管我怀疑它只是代表 JavaScript 支持。 Google 缩小了它们的类别,所以它们都是短的两个字母项目(可能是生成的)。其中之一恰好是 js同样,这会导致大量文本居中。

事实上,要取消软管,只需删除 js来自 <html> 的类(class)动态加载脚本后标记并自行修复。

这是一个固定版本:

function load(url,cb){var x=document.body.appendChild(document.createElement('script'));x.src=url;x.onload=function(){console.log("Dynamically loaded "+url);if(cb){cb();}};if(!cb){x.setAttribute('async','')}}
load("https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js",function(){var htmlElement = document.getElementsByTagName("html")[0]; htmlElement.className = htmlElement.className.replace
( /(?:^|\s)js(?!\S)/g , '' ); alert("Modernizr loaded");});

关于javascript - 为什么 Gmail 在动态加载 Modernizr 后会变得疯狂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15239547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com