При использовании Moovweb удаляются только некоторые встроенные стили

Так что я работаю на очень старом сайте, который перегружен таблицами - все было преобразовано в div, и внутри main.ts я попытался удалить встроенные стили, потому что функция remove_all_styles() не работает.

@func XMLNode.remove_all_styles() {
  remove(".//link[@rel='stylesheet'][not(@data-mw-keep)]|.//style")
}

Я также попытался добавить remove(".//@style") и все еще не смог удалить div style="" на половине страницы. Мне не повезло найти решение, поэтому любая помощь будет принята с благодарностью.

изменить - в качестве временного решения я использовал этот пользовательский JavaScript, который я нашел в хитростях CSS - http://css-tricks.com/snippets/javascript/remove-inline-styles/

но я знаю, что где-то есть более подходящее решение Moovweb.

Спасибо,

1 ответ

Решение

Я предполагаю, что если вы просматриваете исходный код, встроенных стилей там не будет, что означает, что стили добавляются позже с помощью JS. Иначе remove(".//@style") сработало бы, если бы вы заглянули в правильный div.

Единственная реализация трития, о которой я могу подумать, немного хакерская, но работала для меня несколько раз. Вам необходимо перепроектировать десктоп js, который добавляет эти встроенные стили, и выяснить, какой селектор он использует. Затем вы можете найти обходной путь, изменив атрибут или переименовав узел

Например, если на рабочем столе js что-то вроде этого$(".price-table th").css("color", "red");или как это $(".my-table th").attr("style", "");

Вы можете переопределить имя класса в tritium, чтобы сломать селекторы jquery выше.

$ (".// table [@ class = 'price-table']") {
  атрибуты (класс: "таблица новых цен")
}
Другие вопросы по тегам