Javascript 为什么一旦Modernizer动态加载到Gmail中,Gmail会变得疯狂?
在Gmail内的Chrome或Safari inspector控制台中输入:Javascript 为什么一旦Modernizer动态加载到Gmail中,Gmail会变得疯狂?,javascript,webkit,gmail,modernizr,Javascript,Webkit,Gmail,Modernizr,在Gmail内的Chrome或Safari inspector控制台中输入: 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','')}} lo
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");});
导致大部分文本的布局变得疯狂
这可以解释吗?我想让我的工具(包括运行动态加载Modernizer的bookmarklet)在Gmail上工作 Modernizer向
标记添加了许多类,其中一个类是js
。我在文档中找不到任何描述它表示什么的内容,尽管我怀疑它只是表示JavaScript支持。谷歌已经缩小了它们的类,所以它们都是短的两个字母的项目(可能是生成的)。其中一个恰好是js
,这导致大量文本居中
事实上,要解开它,只需在动态加载脚本并修复自身后从
标记中删除js
类
这里有一个固定版本:
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");});
英雄联盟定义疯子