При использовании 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']") { атрибуты (класс: "таблица новых цен") }