2013-09-19 4 views
3

Я хотел бы знать, есть ли способ получить исходную строку запроса для последнего запроса/сайта, который я сейчас просматриваю в браузере.Получить оригинальную/немодифицированную строку запроса через javascript

Я знаю, что я могу получить все виды строк с помощью window.location.* свойств, но я не могу быть уверен, что те, которые не были изменены с помощью API истории через PushState и т.д. (без перезагрузки страницы)

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

+0

попробовать 'state' свойство объекта истории, чтобы знать, если она изменилась .. см ответ ниже @riesling – woofmeow

ответ

1

Вы можете проверить, есть ли history.state.

Величина null для большинства документов, если она не была изменена API истории.

Так что ваш Javascript мог проверить

if(history.state===null) //do something

Вообще есть window.onpopstate событие обстрелял изменения истории через API, но браузеры обрабатывают его по-разному.

Подробнее о window.onpopstate на MDN.

Надежда, что помогает :)

0

Я не уверен на 100%, если это то, о чем вы просите, но вы можете использовать локальное хранилище или хранилище сеансов для хранения значения и вызывать его каждый раз, когда страница загружается/перезагружается. Известно как хранилище HTML5: http://diveintohtml5.info/storage.html

+1

Бен - Я думаю, что ОП просит (и похоронен в конце), если что-то вроде этого «встроено», то есть можно использовать без ручной перетаскивания данных в хранилище, например window.location.history, что, я считаю, не так. –

Смежные вопросы