Javascript.RU

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

DOCTYPE роли не играет.
Ответить с цитированием
  #12 (permalink)  
Старый 02.06.2009, 15:01
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от B~Vladi
Вот мой html, при котором ие7 грузит скрипт
Сообщение от x-yuri
ты забыл указать, что ie6 рушится?
Сообщение от Kolyaj
Да, проблема в ИЕ6.
Ладно, если кто другой не понял, но вам-то я лично писал
Цитата:
Попробуйте запустить ваш код в ИЕ6 в контексте такой вот страницы.

Сообщение от B~Vladi
Домены должны совпадать, как ты считаешь?
Без разницы.
Ответить с цитированием
  #13 (permalink)  
Старый 02.06.2009, 15:08
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Вобщем ие7 грузит скрипт, когда в base указан базовый урл, с которого ты грузишь html. Это и верно, потому что значение должно быть именно таким. если ты напишешь google.ru в base, то при, например, <img src="www.site.ru/img/logo.jpg"/> ,ие будет грузить с http://google.ru/www.site.ru/img/logo.jpg... Понимаем?!
Ответить с цитированием
  #14 (permalink)  
Старый 02.06.2009, 15:11
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Вобщем тесты показывают, что ие6 падает при любой попытке вставить тег в хед, если там есть base с любым значением href... пох скрипт это или стили или мета...
Ответить с цитированием
  #15 (permalink)  
Старый 02.06.2009, 15:20
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от B~Vladi
Вобщем тесты показывают, что ие6 падает при любой попытке вставить тег в хед, если там есть base с любым значением href... пох скрипт это или стили или мета...
Угу.
Ответить с цитированием
  #16 (permalink)  
Старый 02.06.2009, 15:26
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сдаёцца мне что на вопрос "Почему рушится ИЕ" нам смогут ответить только парни из микрософта... Это как же нужно прикрутить подержку тега криво?!
Ответить с цитированием
  #17 (permalink)  
Старый 02.06.2009, 15:27
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

А всё потому. что привыкли всё воровать/отбирать у других, а самим что-то сделать - руки кривые... Линух - форева! Парни молодцы!
Ответить с цитированием
  #18 (permalink)  
Старый 02.06.2009, 15:28
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Ну почему же. Я знаю, просто для интереса запостил.
Ответить с цитированием
  #19 (permalink)  
Старый 02.06.2009, 15:36
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Ура, товарисчи!
Щя всё напишу
Ответить с цитированием
  #20 (permalink)  
Старый 02.06.2009, 15:49
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Вопсчем так... на вопрос "Почему рушится ИЕ" ответа пока не нашёл... Возможно нужно просто логически подумать... Но нашел способ, который обойдёт ентот баг.

Вопсчем задачи у нас такие:
1. Имеем тег base с установленным атрибутом href в значение / или в любое другое.
2. Скриптом. расположенным в хэде необходимо вставить скрипт/стиль/мета и т.д в тот же хэд.
3. Не упасть.

Вопсчем решение такое. Незнаю почему, но падение вызвано методом appendChild. Вместо этого мы можем использовать и другие методы дом, например, такие, как insertBefore.

Еси поправить наш скрипт, то получим такое:

<base href="/" />


<script type="text/javascript">
        var head=document.documentElement.firstChild;
        var js=document.createElement('script');
        js.type='text/javascript';
        js.src='script.js';
        head.insertBefore(js,document.documentElement.firstChild.lastChild);
    </script>


Скажу сразу, что этот код не будет работать, т.к. у нас неправильно установленно значение href для base. Если мы не можем его исправить - путь к скрипту указываем полный. Если можем - правим на правельный и тогда все относительные ссылки у нас будут рабочими.

По поводу конструкции
document.documentElement.firstChild.lastChild
.
Код
document.documentElement.firstChild
получает наш хэд(можно и по-другому), а lastChild указывает нам на узел, перед которым нужно вставлять то, что требуецца. Узел может быть любым, хоть первым, хоть последним.

Вот собсно и всё.
Ответить с цитированием
Ответ



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

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