Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.11.2009, 16:03
Интересующийся
Отправить личное сообщение для Temchik Посмотреть профиль Найти все сообщения от Temchik
 
Регистрация: 19.07.2009
Сообщений: 15

Изменение HEAD перед загрузкой BODY
У меня есть js файл который я подключаю к опере.
Eсть страница с некоторым <head>.....</head>

Мне нужно чтобы скрипт стер все ссылки на css и написал свою, после уже загружался body с тем css который написал js файл...

Тоесть убирать на сайте все его css и применять мой css
Ответить с цитированием
  #2 (permalink)  
Старый 15.11.2009, 16:04
Интересующийся
Отправить личное сообщение для Temchik Посмотреть профиль Найти все сообщения от Temchik
 
Регистрация: 19.07.2009
Сообщений: 15

Я пробывал так, но ничегон е получилось

document.head.onload = function () {vcsss()} 
function vcsss() {
document.head="<link rel='stylesheet' href='http://........./vk1.css' type='text/css' />"
}
Ответить с цитированием
  #3 (permalink)  
Старый 15.11.2009, 16:50
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Temchik
document.head.onload
Это откуда взялось?
Идея ваша бредовая...
Можно удалить все link и пристегнуть свой, но это будет происходить в процессе загрузки body, поэтому при медленном нете у тебя будут частые перерисовки страницы и это будет напрягать...
Ответить с цитированием
  #4 (permalink)  
Старый 15.11.2009, 16:53
Интересующийся
Отправить личное сообщение для Temchik Посмотреть профиль Найти все сообщения от Temchik
 
Регистрация: 19.07.2009
Сообщений: 15

Сообщение от B~Vladi Посмотреть сообщение
Это откуда взялось?
Можно удалить все link и пристегнуть свой
Можно код? Я в js не столь силен. Спасибо.
Ответить с цитированием
  #5 (permalink)  
Старый 15.11.2009, 16:57
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Код чего?! Удаления линков или добавления своего?!
Ответить с цитированием
  #6 (permalink)  
Старый 15.11.2009, 16:58
Интересующийся
Отправить личное сообщение для Temchik Посмотреть профиль Найти все сообщения от Temchik
 
Регистрация: 19.07.2009
Сообщений: 15

Удаления линков и наверное дописывание своего (Надо как я понял через innerHTML) но как дописать в head??
Ответить с цитированием
  #7 (permalink)  
Старый 15.11.2009, 17:11
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

document.documentElement.getElementsByTagName('LINK')

так можно получить все линки на css и удалить их (removeChild).
document.documentElement.getElementsByTagName('HEAD')[0]

так можно получить head.
В этот head вставляем (appendChild) свой link (document.createElement('link')).
Ещё вопросы?!
Ответить с цитированием
  #8 (permalink)  
Старый 15.11.2009, 17:24
Интересующийся
Отправить личное сообщение для Temchik Посмотреть профиль Найти все сообщения от Temchik
 
Регистрация: 19.07.2009
Сообщений: 15

document.documentElement.getElementsByTagName('LINK').removeChild

document.documentElement.getElementsByTagName('HEAD')[0].document.createElement('link')


Если честно я суть то понял, но как это сделать я не понял... И еще 1 link создам а как в ему указать путь к новому css??
Ответить с цитированием
  #9 (permalink)  
Старый 15.11.2009, 17:34
Интересующийся
Отправить личное сообщение для Temchik Посмотреть профиль Найти все сообщения от Temchik
 
Регистрация: 19.07.2009
Сообщений: 15

var head = document.getElementsByTagName("head")[0];

       // удаление старой иконки
       var links = head.getElementsByTagName("link");
       for (var i = 0; i < links.length; i++) {
               var lnk = links[i];
               if (lnk.rel=="stylesheet") {
                       head.removeChild(lnk);
                       return;
               }
       }

       // создание и добавление новой иконки
       var link = document.createElement("link");
       link.setAttribute("href","");
       link.setAttribute("rel","stylesheet");
       head.appendChild(link);


Я тут немного поискал, нашел пример со сменой иконки, немного переписал, поменял все ненужное на свое нужное, вот что получилось...
Ответить с цитированием
  #10 (permalink)  
Старый 15.11.2009, 17:45
Интересующийся
Отправить личное сообщение для Temchik Посмотреть профиль Найти все сообщения от Temchik
 
Регистрация: 19.07.2009
Сообщений: 15

document.body.onload = function() {mlia()};
fumction mlia() {
var head = document.getElementsByTagName("head")[0];
 

       var links = head.getElementsByTagName("link");
       for (var i = 0; i < links.length; i++) {
               var lnk = links[i];
               if (lnk.rel=="stylesheet") {
                       head.removeChild(lnk);
                       return;
               }
       }
 

       var link = document.createElement("link");
       link.setAttribute("href","http://........./vk1.css");
       link.setAttribute("rel","stylesheet");
       head.appendChild(link);
}


Короче вот код, но не работает... =(( В чем может быть проблема??
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылка на JS в head и в body, Есть разница? rolph (X)HTML/CSS 9 03.11.2013 23:50