2009-12-22 1 views

ответ

12

причины безопасности - нет, вы не можете вывести историю браузера (с JavaScript)

Я имею в виду, вы не можете сделать

for(i=0;i<window.history.length; i++) 
{ 
     alert(window.history[i]); 
} 

Однако у меня нет хорошего объяснения, почему history.go(n); является ok

+10

'history.go (n)' нормально, потому что он не дает вам никакой информации о истории пользователей ... он отправляет их обратно в это место. –

+0

Что относительно свойств текущих, следующих и предыдущих? не могут ли они выявить URL-адреса? Спасибо –

+0

Может кто-нибудь прояснить мой вопрос? Благодаря! –

8

Нет, поскольку вы могли бы в основном следить за историей веб-сайта любого, кто посещает ваш сайт (вы можете отправить эту информацию на свой сервер с помощью Javascript).

Вы можете перенаправить клиента на определенные страницы в своей истории, используя объект истории событий Javascript back(), forward(), and go() methods. Вы просто не можете знать, где именно вы перенаправляете их (за исключением случаев использования go() для перенаправления на URL вместо номера истории).

+3

По крайней мере, чтение истории в рамках текущей области с одинаковым происхождением-политикой было бы неплохо ;-) – NicBright

+0

@ user3651406 Согласен. Lame, что вы не можете манипулировать дублирующейся записью для истории в домене и веб-сайте, которым вы хотите управлять. – momomo