我收到了来自我的商业伙伴的电子邮件,并且我的gmail页面在Chrome中缩小到125%,右边(可能是5%)被切断了。我进入检查并看到如果我更改了一个样式属性,'table-layout'要么从'fixed'变为'auto',要么只是取消选中它(在inspect中),问题就会消失。所以我编写了我的第一个tampermonkey脚本来尝试修复这种情况,如下所示:
// ==UserScript==
// @name Remove table-layout fixed
// @namespace http://tampermonkey.net/
// @version 0.1
// @description table-layout: fixed to auto, in emails
// @author DJ
// @match https://mail.google.com/mail
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// ==/UserScript==
$(".ii.gt.adP.adO").children().children().children().css("table-layout", "auto");
我使用了类名.ii.gt.adP.adO,因为它们位于最接近所讨论表的div中,对于所有电子邮件来说似乎也是稳定的(即,这些类名在多个电子邮件中,其他类结构中的名称发生变化。有问题的表是div的曾孙和那些类名(因此.children()。children()。children())。我检查过该语法适用于曾孙表here。
非常感谢任何帮助。
编辑:我将匹配语句更改为 *://mail.google.com/* 每this site但它没有任何区别。
答案 0 :(得分:0)
这是有效的脚本:
// ==UserScript==
// @name Remove table-layout fixed
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Adam's emails contain some css, table-layout: fixed;, that's screwing up the display
// @author DJ
// @match *://mail.google.com/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant GM_addStyle
// ==/UserScript==
function adjustTable (jNode) {
jNode.children().children().children().css("table-layout","auto");
}
waitForKeyElements (".ii.gt.adP.adO", adjustTable);
再次感谢Brock和他的实用工具。