Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Чудеса JavaScript

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

safo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть код
<IMG  
SRC="javascript: document.ConfButton.src = imgOut[0].src;" border="0" name="ConfButton"  height="40"
onClick="javascript: parent.menu.document.location='http://localhost:8000/menu.htm?menu=conf'; return false;">
 
При первом нажатии на button нормально отправляется запрос на сервер, грузится menu.htm. При повторном нажатии IE пишет :
 
Строка 40
Знак 2
Ошибка Отказано в доступе
Код 0
(URL): http://localhost:8000/menu.htm
 
И такое на всех button  на странице
 
Что нужно браузеру???

Всего записей: 84 | Зарегистр. 25-10-2003 | Отправлено: 16:20 14-04-2005
jason32



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А что в остальных браузерах(Opera ,FireFox)? Как в них работает и работает ли вообще?

Всего записей: 714 | Зарегистр. 08-11-2004 | Отправлено: 21:06 14-04-2005
safo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сейчас разбираюсь с этим. Вот нарыл
 
"Свойство location объекта window легко перепутать со свойством location объекта document. Значение свойства document.location изменить нельзя, а значение свойства location окна - можно, например при помощи выражения window.location.property. Значение document.location присваивается объекту window.location при первоначальной загрузке документа, потому, что документы всегда загружаются в окна."
 
Это тут http://doks.gorodok.net/?p=71
 
К сожалению дома нет исходников. Завтра с утра на работе продолжу.

Всего записей: 84 | Зарегистр. 25-10-2003 | Отправлено: 21:39 14-04-2005
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
safo
parent.menu.window.location

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:15 14-04-2005
safo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Странно... Загружаю index.htm со структурой фреймов. У каждого фрейма есть SRC. Все как положено.  
onClick="javascript: parent.body.window.location=parent.body.window.location; return false;"
Работает. Как только во фрейм body загружается другой документ - уже не работает!
Ошибка: Разрешение отклонено.
Ничего не пойму!

Всего записей: 84 | Зарегистр. 25-10-2003 | Отправлено: 09:43 15-04-2005
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
safo

Цитата:
Как только во фрейм body загружается другой документ - уже не работает!  
Ошибка: Разрешение отклонено.  
Ничего не пойму!

другой документ с другого сайта? это запрещено.

Цитата:
parent.body.window.location=parent.body.window.location;

не вижу смысла в этой записи..
хочется изменить источник фрейма
parent.body.src=..
ps: не стоит называть фреймы ключевыми словами.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 09:45 15-04-2005
safo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это что-то типа refresh button.
Мне нужно обновлять содержимое только фрейма body.

Всего записей: 84 | Зарегистр. 25-10-2003 | Отправлено: 09:55 15-04-2005
kb82

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
safo
добавлю:
при вызове обработчика onClick писать javascript: - не нужно
 
и еще - refresh можно делать через window.reload()
 

Всего записей: 122 | Зарегистр. 03-03-2005 | Отправлено: 14:07 15-04-2005
safo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kb82
onClick="window.reload(); return false;"
 
Даже так не работает. Ошибка. Объект не поддерживает это свойство или метод.
all
Что еще заметил: если ссылки на странице сформированы http://localhost... и т.д. и при загрузке в окне браузера указать http://localhost/index.htm , то все работает!!!
Если ссылки на странице сформировать локальным IP адресом машины(например 10.12.64.10) http://10.12.64.10... и т.д. и при загрузке в окне браузера указать http://localhost/index.htm , то наступает алес юстасу!
 
Напомню, что index формируется на основе фреймов. Из одного фрейма нужно обновлять содержимое другого (банальный refresh).
 
Вот такие затыки! Кто чем поможет?

Всего записей: 84 | Зарегистр. 25-10-2003 | Отправлено: 23:09 15-04-2005
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
safo

Цитата:
Даже так не работает

да потому что
window.location.reload(true)
я щас отправлю учебники читать.


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 09:04 16-04-2005
safo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Все по-прежнему. Не выходит каменный цветок...
Придется городить refresh в самом фрейме. А жаль, так выглядело приятнее.

Всего записей: 84 | Зарегистр. 25-10-2003 | Отправлено: 10:51 16-04-2005
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
safo

Цитата:
Все по-прежнему. Не выходит каменный цветок...  

я тебе и привел для самого фрейма..  
структуру фреймов и откуда какой нужно рефрешить.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 10:52 16-04-2005
safo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
index.htm:
 
<FRAMESET ROWS="30%,*">
<FRAME SRC="nav.htm" name="nav">
<FRAMESET COLS="30%,*">
<FRAME SRC="menu.htm" name="menu">
<FRAME SRC="body.htm" name="body">
</FRAMESET>
</FRAMESET>
 
nav.htm:
 
<IMG  
SRC="images/menu.bmp" name="ConfButton"  height="40"  
onClick="parent.body.window.location.reload(true); return false;">
 
menu.htm:
 
<A href="http://localhost:8000/body.htm" target="body">загружаем во фрейм body</A>
 
body.htm:
 
hello!
 
Из фрейма nav обновить фрейм body...
Вот из-за чего весь сыр-бор. Непонятна идеология IE по безопасности. Загружаю документ body.htm локально. Из фрейма menu ссылка работает без проблем. Почему нельзя обновить ту же страничку из фрейма nav - непонятно? А выше я написал что такая ситуация возникает, когда index загрузить не http://localhost/ , а http://127.0.0.1/

Всего записей: 84 | Зарегистр. 25-10-2003 | Отправлено: 17:52 16-04-2005
safo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Зделал. Формирую ссылки в nav.htm с помощью переменной HTTP_HOST в запросе. Теперь все работает.
 
Еще вопросик, если можно.
В nav.htm произвожу загрузку рисунков кнопок:
<SCRIPT LANGUAGE="JavaScript1.2">
 
var imgOver = new Array();
var imgOut = new Array();
var imgDown = new Array();
var imgPath = 'images/';
 
function imagePreLoad(imgStr) {
 
imgOver[imgOver.length] = new Image();
imgOver[imgOver.length - 1].src = imgPath + imgStr + '_over.bmp';
 
imgOut[imgOut.length] = new Image();
imgOut[imgOut.length - 1].src = imgPath + imgStr + '_out.bmp';
 
imgDown[imgDown.length] = new Image();
imgDown[imgDown.length - 1].src = imgPath + imgStr + '_down.bmp';
 
}
 
imagePreLoad('conf');
imagePreLoad('log');
imagePreLoad('sql');
imagePreLoad('stat');
imagePreLoad('open');
imagePreLoad('refresh');
</SCRIPT>
 
По идее браузер их хранит. Но я заметил, что после нескольких разнообразных запросов браузер опять пытается их подгружать. Не все, а выборочно. Это нормально или что-то добавить надо?

Всего записей: 84 | Зарегистр. 25-10-2003 | Отправлено: 10:49 18-04-2005
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Чудеса JavaScript


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru