|
|
|
| Здравствуйте знатоки. Вопрос по объекту history.
Он как известно имеет свойства previous, next, length, current. При попытке их использовать не получаю ничего - так, как это приватная информация. Как я могу их использовать, для чего мне это надо: задача такая.
Из одного html документа, вызывается другой html документ, необходимо вызвать предыдущий документ, но изменить некоторые параметры его вызова. Вот для чего я хочу прочитать адрес предыдущего документа.
Какие возможны решения использования свойств объекта history
Одно из решений это подписать сценарий - вопрос? как это сделать и со всеми ли браузерами это будет работать
Заранее благодарен за любую информацию по данному вопросу
ps искал в сети и по форуму - ответа не нашел (читал статью http://javascript.aho.ru/files/js/history.html) | |
|
|
|
|
|
|
|
для: msgipss
(02.08.2007 в 09:52)
| | Вас кто-то жестоко обманул.
Объект history имеет всего одно свойство - length
К этому объекту можно применять три метода: back, forward, go
Ваша задача - вызов предыдущего документа - решается двумя способами (с использованием двух разных методов):
или history.back ()
или history.go (-1) | |
|
|
|
|
|
|
|
для: CNT
(02.08.2007 в 18:14)
| | А как можно решить задачу: получить адрес предыдущего документа, изменить один из передаваемых параметров и после этого открыть документ.
Кстати при попытке использовать это свойство IE ничего не говорит, а firefox пишет следующее
"Ошибка: uncaught exception: Permission denied to get property History.previous" - так что Ваше утверждение (о несуществовании свойства) наверняка ошибочно. | |
|
|
|
|
|
|
|
для: 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, если таковой был записан в истории браузера) ПРОИЗОЙДЁТ.
Ферштейн? | |
|
|
|
|
|
|
|
для: CNT
(03.08.2007 в 06:57)
| | Ферштейн, ферштейн - спасибо тебе мудрый CNT, :)
Извини что усомнился в твоей мудрости и заставил перейти на повышенный тон.
А если серьезно - то действительно спасибо за развернутый ответ. - я все понял | |
|
|
|