Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Подскажите кто может !!!! Динамический кросс доменный iframe под IE6 (https://javascript.ru/forum/events/4418-podskazhite-kto-mozhet-dinamicheskijj-kross-domennyjj-iframe-pod-ie6.html)

dima911 20.07.2009 13:52

Подскажите кто может !!!! Динамический кросс доменный iframe под IE6
 
Помогите кто чем может :help: :help: .Пишу расширение под IE6 . Есть такой код. В IE 7 - 8 и в Firefox все работает отлично, за исключением IE 6 там кросс доменные фреймы запрещены политикой безопасности.
f (!window.parent.inject)
{
if(window == window.top)
{
if(document.body != null)
{
if (!document.location.host.match(/xxxxxx\.xxxxx\.ru$/))
{
var my_div = document.body.firstChild;
htmlend = document.createElement("div");
htmlend.innerHTML ="<iframe src='http://xxxxxxxxx.ru/index.html' id='frId' name='inject' frameborder='no' width='100%' height='100' scrolling='no'></iframe>";
document.body.insertBefore(htmlend, my_div);

}
}
}
}
Решение должно существовать информации мало о подобных эксперементов некоторые говорят что можно у фрейма поменять свойство document.domain или loactionю Но у меня так и не получилось. Пишет "Разрешение отклонено"

B~Vladi 20.07.2009 14:04

Цитата:

Сообщение от dima911
у фрейма поменять свойство document.domain или loaction

Удаляйте ваш айфрейм и создавайте новый.

dima911 20.07.2009 14:18

По подробней? iframe создается динамически когда открывается страница в браузере.

B~Vladi 21.07.2009 09:08

Цитата:

Сообщение от dima911
По подробней?

После того, как вы создали динамический айфрейм, поменять ему src не получится (по крайней мере я не смог). Поэтому вам нужно удалить (removeChild) или заменить (replaseChild) его на новый с новым src.

dima911 21.07.2009 09:20

Цитата:

Сообщение от B~Vladi (Сообщение 24885)
После того, как вы создали динамический айфрейм, поменять ему src не получится (по крайней мере я не смог). Поэтому вам нужно удалить (removeChild) или заменить (replaseChild) его на новый с новым src.

Можите продемонстрировать пример кода? Просто пока не представляю как это будет выглядеть ... Если будет новый src то соответственно и новое содержимое фрейма будет?
Встречал идею прописать document.domain на удаленном хосте и на родительском, тогда вроде кросс доменность прокатывает но пока не реализовал..

B~Vladi 21.07.2009 09:29

Цитата:

Сообщение от dima911
Можите продемонстрировать пример кода?

Могу, когда пойму что вам надо.
Цитата:

Сообщение от dima911
Если будет новый src то соответственно и новое содержимое фрейма будет?

Естессно, а вам не это разве надо?!
Цитата:

Сообщение от dima911
Встречал идею прописать document.domain на удаленном хосте и на родительском, тогда вроде кросс доменность прокатывает но пока не реализовал..

Сам не заморачивался, сказать не могу, но что-то такое слышал.... Нада гуглить.

dima911 21.07.2009 15:46

Цитата:

Сообщение от B~Vladi (Сообщение 24890)
Могу, когда пойму что вам надо.

Естессно, а вам не это разве надо?!

Сам не заморачивался, сказать не могу, но что-то такое слышал.... Нада гуглить.

Идея проста! javascript встраивается в ie в виде расширения, когда отрывается страница в ie создается iframe в который грузится документ.

B~Vladi 21.07.2009 15:50

Цитата:

Сообщение от dima911
Идея проста! javascript встраивается в ie в виде расширения, когда отрывается страница в ie создается iframe в который грузится документ.

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

ЗЫ: Не вкладки, случайно, для ие6 прикручиваете?!:)

dima911 21.07.2009 15:54

Цитата:

Сообщение от B~Vladi (Сообщение 24936)
Аха, это понятно. Значт нужен функционал, который менял бы адрес фрейма из родительского окна?! Если так, то вам нужно делать так, как предложил я.

ЗЫ: Не вкладки, случайно, для ие6 прикручиваете?!:)

Не делаю расширение для гугла- SEOшное

B~Vladi 21.07.2009 15:58

Цитата:

Сообщение от dima911
Не делаю расширение для гугла- SEOшное

аха. Ну вот. Создаёте фрейм значт:
var iframe=document.createElement('iframe');
iframe.src='domain.com';
// Далее остальные свойства, если надо...
document.appendChild(iframe);

Ну вот... а если надо сменить url фрейма:
//создаём новый фрейм newFrame со своим src
document.removeChild(iframe, newFrame);

Думаю, алгоритм понятен:)


Часовой пояс GMT +3, время: 14:15.