Как пользовательский скрипт Tampermonkey может отключить одну настройку CSS сайта?

Я изменил скрипт, который нашел в Интернете, чтобы получить форматирование, которое мне нравится, но CSS в Gmail искажает его отображение.

Используя Chrome, я обнаружил, что могу переключать max-width, и он исправляет отображение, но я недостаточно умен, чтобы выяснить, как ввести это в этот скрипт.

Как сделать так, чтобы скрипт отключил max-width для класса .xW?

Gmail

Gmail с отключенной максимальной шириной в CSS

Исходный источник скрипта< /а>

Мой модифицированный скрипт:

// ==UserScript==
// @name        Gmail - show FORMATTED full date and time in mail list
// @description Just show the full date and time on the list instead of only short date. Useful if you need to create a report and you base on your activity and it's timing. Or when you look at mails and want to find one visually by looking on times.
// @include     https://mail.google.com/mail/*
// @version 0.0.1.20180924133221
// @namespace https://greasyfork.org/users/153157
// ==/UserScript==

var formatDate = function(dateString) {
  var dateTime = new Date(dateString);
  return dateTime.toLocaleString();
};

(function() {
  window.setInterval(function() {
    var date_titles_main = Array.from(document.getElementsByClassName("xW xY"));
    var date_titles_thread = Array.from(document.getElementsByClassName("g3"));
    date_titles_main.forEach(function(element, index, array) {
      var elements = element.childNodes;
      var title = elements.length > 0 ? elements[0].title : false;
      if (title) {
        title = formatDate(title);
      }
      if (title && elements[0].innerHTML != title) { elements[0].innerHTML = title; }
    });
    date_titles_thread.forEach(function(element, index, array) {
      if (element.title && element.innerHTML != element.title) { element.innerHTML = formatDate(element.title); }
    });
    Array.from(document.getElementsByClassName("xX")).forEach(function(element, index, array) {
      element.style.width = '80ex';
    });
  }, 2000);
})();

person Landmine    schedule 23.10.2018    source источник


Ответы (1)


Вы должны использовать значение CSS unset.

Также обратите внимание:

Вот модифицированный скрипт (не тестировался, потому что я редко пользуюсь Gmail):

// ==UserScript==
// @name        Gmail - show FORMATTED full date and time in mail list
// @description Just show the full date and time on the list instead of only short date. Useful if you need to create a report and you base on your activity and it's timing. Or when you look at mails and want to find one visually by looking on times.
// @include     https://mail.google.com/mail/*
// @version     0.1.0.20181023
// @namespace   https://greasyfork.org/users/153157
// @grant       GM_addStyle
// ==/UserScript==

var formatDate = function (dateString) {
    var dateTime = new Date (dateString);
    return dateTime.toLocaleString ();
};

window.setInterval (function () {
    var date_titles_main = Array.from (document.getElementsByClassName ("xW xY"));
    var date_titles_thread = Array.from (document.getElementsByClassName ("g3"));
    date_titles_main.forEach (function (element, index, array) {
        var elements = element.childNodes;
        var title = elements.length > 0 ? elements[0].title : false;
        if (title) {
            title = formatDate (title);
        }
        if (title && elements[0].innerHTML != title) { elements[0].innerHTML = title; }
    } );
    date_titles_thread.forEach (function (element, index, array) {
        if (element.title && element.innerHTML != element.title) { element.innerHTML = formatDate (element.title); }
    } );
}, 2000);

GM_addStyle ( `
    .xX { width: 80ex !important; }
    .xW { max-width: unset !important; }
` );
person Brock Adams    schedule 23.10.2018
comment
Благодарю вас! Отлично сработало, и я думаю, что понимаю, что сейчас происходит. - person Landmine; 23.10.2018