|
|
|
| У меня есть js файл который я подключаю к опере.
Eсть страница с некоторым <head>.....</head>
Мне нужно чтобы скрипт стер все ссылки на css и написал свою, после уже загружался body с тем css который написал js файл...
Тоесть убирать на сайте все его css и применять мой css
Я пробывал так, но ничегон е получилось
document.head.onload = function () {vcsss()}
function vcsss() {
document.head="<link rel='stylesheet' href='http://........./vk1.css' type='text/css' />"
}
|
| |
|
|
|
|
|
|
|
для: Temchik
(15.11.2009 в 16:22)
| | Задачка эта не такая простая, как вам кажется.
CSS в заголовке страницы могут быть двух типов:
1. External Style Sheets - подключаемые внешние файлы *.css посредством использования тега <link rel="StyleSheet" type="text/css">. Их может быть несколько в заголовке страницы.
2. Embedded Style Sheets - встроенные таблицы стилей, заключённые в блоки <style>...</style>. Таких блоков может быть несколько в заголовке страницы.
И те, и другие составляют коллекцию document.styleSheets, длина которой равна суммарному количеству тегов <link rel="StyleSheet" type="text/css"> и блоков <style>...</style>.
Если ваш скриптовой блок <script></script> расположен в заголовке в HTML-коде НИЖЕ, чем все вышеперечисленные теги <link rel="StyleSheet" type="text/css"> и блоки <style>...</style>, то тогда коллекция document.styleSheets к моменту обращения к ней будет у вас ПОЛНОЙ.
Удалить СРАЗУ всю коллекцию document.styleSheets НЕЛЬЗЯ.
Удалить отдельный элемент коллекции document.styleSheets тоже НЕЛЬЗЯ.
Однако МОЖНО удалить по очереди ВСЕ ПРАВИЛА в каждом из элементов коллекции document.styleSheets.
Для этого нужно использовать два вложенных цикла: внешний цикл перебирает поэлементно коллекцию document.styleSheets, а внутренний цикл по очереди удаляет все правила в каждом элементе (методом removeRule () в MSIE).
Таким образом вы СОТРЁТЕ все прописанные правила CSS ещё до того, как они будут применены к тегам страницы (учтите, что среди правил могут быть правила @import, а их надо удалять немного иначе).
После удаления всех правил можно добавить свой CSS-файл.
В браузере MSIE для этого можно использовать метод document.createStyleSheet ().
Для браузеров Mozilla всё вышесказанное тоже имеет место быть, но для удаления правил CSS и для добавления файла CSS используются другие (по названиям) методы. | |
|
|
|