Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> document.domain и порты, междоменное взаимодействие 
:(
    Опции темы
Rodenis
Дата 24.12.2006, 06:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.6.2006

Репутация: нет
Всего: нет



Здравствуйте!
Столкнулся с такой проблемой - имеется скрипт, в котором все сделано в разных фреймах.
И все бы ничего, но один фрейм вызывается по другому порту:
Код

<frameset rows="50,*">
<frame src="http://chat.site.ru/navibar.php?session=123" name="navibar" id='navibar'>
<frame src="http://chat.site.ru:5555/?123" name="shower" id='shover'>

И никак не получается наладить взаимодействие между фреймами в Опере и FF.
Пробовал писать в каждом фрейме, и даже во фреймсете (который top):
document.domain='site.ru', заработало под FF, опера ни в какую.

консоль ошибок оперы выдает:
message: Security error: attempted to read protected variable

эксперименты с
Код

document.domain='ru';
или
Код

document.domain='chat.site.ru';


не помогают smile
Опера не сдается smile

решил проверять location.hash
и что вы думаете?
адрес фрейма с нестандартным портом НЕДОСТУПЕН в опере из других фреймов.
вообще мрак...
приписал к фрейму, помимо name=shover, id=shower
сделал кучу вариантов обращений. ни один не работает! в ИЕ некоторые работают smile

Код

<button onClick="alert(window.top.document.frames.shower.location);">src1</button>
<button onClick="alert(window.top.document.getElementById("shower").location);">src2</button>
<button onClick="alert(window.top.document.getElementById("shower").src);">src3</button>
<button onClick="alert(window.top.document.getElementById("navibar").src);">src4</button>
<button onClick="alert(window.top.frames.shower.location);">src1</button>
<button onClick="alert(window.top.getElementById("shower").location);">src2</button>
<button onClick="alert(window.top.getElementById("shower").src);">src3</button>
<button onClick="alert(window.top.getElementById("navibar").src);">src4</button>
<button onClick="alert(window.top.frames.shower.location);">src1</button>
<button onClick="alert(top.frames.shower.src);">src2</button>
<button onClick="alert(top.getElementById("shower").location);">src3</button>
<button onClick="alert(top.getElementById("shower").src);">src4</button>
<button onClick="alert(top.getElementById("navibar").src);">src5</button>

Пожалуйста, подскажите, как достать из этого фрейма другие, или его из других?

Это сообщение отредактировал(а) Rodenis - 24.12.2006, 14:05
PM MAIL   Вверх
Sardar
Дата 24.12.2006, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



С Оперой это вряд ли обойдёться, она очень упрямая по части безопасности. Попробуй в document.domain прописать домен с портом (80), бред но мало ли чего.

Можно отказаться от фреймов и дёргать инфу через XMLHttpRequest, домены одни, запрос Опера сделать позволит. Правда это потребует большой переделки клиентской части.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Rodenis
Дата 24.12.2006, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.6.2006

Репутация: нет
Всего: нет



спасибо за совет
с портом пробовал, не помогло

через XMLHttpRequest невыгодно. много тарфа будет.
сейчас чат работает в непрерывном режиме, с C++ демоном
PM MAIL   Вверх
Zeroglif
Дата 24.12.2006, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 644
Регистрация: 22.9.2005

Репутация: 28
Всего: 66



Цитата(Rodenis @  24.12.2006,  06:50 Найти цитируемый пост)
сделал кучу вариантов обращений. ни один не работает!


Код

onClick="alert(window.top.getElementById("navibar").src);"


Кавычки же не чередуются, ошибки должны лезть из всех щелей...
PM MAIL WWW   Вверх
Sardar
Дата 24.12.2006, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Rodenis @  24.12.2006,  14:46 Найти цитируемый пост)
через XMLHttpRequest невыгодно. много тарфа будет.

На самом деле гораздо меньше чем во фрейме, если отдавать только сообщение в XML, а не всю вёрстку. Применить XSLT стили можно сразу на клиенте, благо Опера 9  это уже умеет. Ну или по старинке форматировать в ручную скриптом выбирая ноды.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Rodenis
Дата 25.12.2006, 04:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 20.6.2006

Репутация: нет
Всего: нет



Zeroglif, спасибо, действительно меня проглючило
убрал кавычки, все равно не помогло - результат тот же

Sardar, фрейм же не перегружается! он ДОгружается. текст сообщений постепенно подгружается во фрейм. это самый экономичный вариант,ч естное слово smile
там даже xml никакого нет, просто текст сообщений.
PM MAIL   Вверх
Sardar
Дата 25.12.2006, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Rodenis @  25.12.2006,  03:04 Найти цитируемый пост)
он ДОгружается. текст сообщений постепенно подгружается во фрейм.

Если коннект постоянный, поддерживаемый пробелами или скриптовым детектором лага как в chat.spb.ru... то не хилая должно быть нагрузка на сервер столько коннектов одновременных держать smile

Агава, где хост держал, по моему 48 максимум даёт. Так что дозагрузка по XMLHttpRequest, где ты дёргаешь только свежие сообщения и не держишь постоянного коннекта ИМХО всё равно лучше.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Avb
Дата 27.12.2006, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 5.7.2006

Репутация: 4
Всего: 13



Цитата(Sardar @  24.12.2006,  15:42 Найти цитируемый пост)
Можно отказаться от фреймов и дёргать инфу через XMLHttpRequest, домены одни, запрос Опера сделать позволит.


Sardar, Вы уверены?

Буквально пару дней назад пробовал аякс-запросы: домен один, порты разные. Глухо как в танке. 
В каких браузерах смотрел не помню, но в ФФ точно не работало.

Использовал Ajax.Request из prototype.js.

Это сообщение отредактировал(а) Avb - 27.12.2006, 17:17
PM MAIL   Вверх
Sardar
Дата 27.12.2006, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Avb @  27.12.2006,  16:15 Найти цитируемый пост)
Sardar, Вы уверены?

Нет, не уверен, спасибо за инфу...  smile 


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0945 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.