Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Использование history.previous
 
 автор: msgipss   (02.08.2007 в 09:52)   письмо автору
 
 

Здравствуйте знатоки. Вопрос по объекту history.
Он как известно имеет свойства previous, next, length, current. При попытке их использовать не получаю ничего - так, как это приватная информация. Как я могу их использовать, для чего мне это надо: задача такая.
Из одного html документа, вызывается другой html документ, необходимо вызвать предыдущий документ, но изменить некоторые параметры его вызова. Вот для чего я хочу прочитать адрес предыдущего документа.
Какие возможны решения использования свойств объекта history
Одно из решений это подписать сценарий - вопрос? как это сделать и со всеми ли браузерами это будет работать

Заранее благодарен за любую информацию по данному вопросу

ps искал в сети и по форуму - ответа не нашел (читал статью http://javascript.aho.ru/files/js/history.html)

   
 
 автор: CNT   (02.08.2007 в 18:14)   письмо автору
 
   для: msgipss   (02.08.2007 в 09:52)
 

Вас кто-то жестоко обманул.
Объект history имеет всего одно свойство - length
К этому объекту можно применять три метода: back, forward, go

Ваша задача - вызов предыдущего документа - решается двумя способами (с использованием двух разных методов):
или history.back ()
или history.go (-1)

   
 
 автор: msgipss   (03.08.2007 в 05:33)   письмо автору
 
   для: CNT   (02.08.2007 в 18:14)
 

А как можно решить задачу: получить адрес предыдущего документа, изменить один из передаваемых параметров и после этого открыть документ.
Кстати при попытке использовать это свойство IE ничего не говорит, а firefox пишет следующее
"Ошибка: uncaught exception: Permission denied to get property History.previous" - так что Ваше утверждение (о несуществовании свойства) наверняка ошибочно.

   
 
 автор: CNT   (03.08.2007 в 06:57)   письмо автору
 
   для: msgipss   (03.08.2007 в 05:33)
 

"Моё мнение не может быть ошибочным, ибо оно верно!" (с)

Свойства интерфейса current, previous, next были записаны в спецификации Javascript'a версии 1.1 малограмотными разработчиками кампании Sun, которые тогда разрабатывали этот язык как язык программирования, "не связанный с браузерами". А вот когда кампания Netscape этот язык внедрила в NN2.0, то эту неграмотную возможность интерфейса (нарушающую безопасность) сразу же заблокировали... Но в спецификации Javascript'a версии 1.1 эта дурость осталась.


В объекте (массиве) history действительно хранятся URL текущей (current), предыдущей (previous) и следующей (next) страницы.
Доступ к этим страницам возможен при использовании соответствующих методов:
go (0) - обновление текущей;
go (-1) или back () - к предыдущей;
go (1) или forward () - к следующей.

Но доступ этот осуществляется именно только как действие, т.е. без возвращаемого значения.

Непонятно?
Поясню на примере.
Имеем, например, код:
<script>
var myArr = new Array (5, 6, 3, 1, 0, 2, 4);
alert (myArr.sort ());
</script>

Что сделано и что возвращено этим кодом?
СДЕЛАНО: массив myArr отсортирован по возрастанию, т.е. он превратился в массив (0, 1, 2, 3, 4, 5, 6)
ВОЗВРАЩЕНО: отсортированный массив мы увидели в окошке alert.

А вот если написать:
<script>
alert (history.back ());
</script>

то мы увидим в окошке UNDEFINED (т.е. возвращаемого значения НЕТ), но действие (ВОЗВРАТ на предыдущий URL, если таковой был записан в истории браузера) ПРОИЗОЙДЁТ.

Ферштейн?

   
 
 автор: msgipss   (06.08.2007 в 05:56)   письмо автору
 
   для: CNT   (03.08.2007 в 06:57)
 

Ферштейн, ферштейн - спасибо тебе мудрый CNT, :)
Извини что усомнился в твоей мудрости и заставил перейти на повышенный тон.
А если серьезно - то действительно спасибо за развернутый ответ. - я все понял

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования