Вы должны установить семя каждый раз, когда хотите получить воспроизводимый случайный результат.
set.seed(1)
rnorm(4)
set.seed(1)
rnorm(4)
Теперь это можно сделать в Chrome, Safari, Firefox 4+ и Internet Explorer 10pp4+!
Дополнительную информацию см. в ответе на этот вопрос: Обновление адресной строки новым URL без хэша или перезагрузки страницы
Пример:
function processAjaxData(response, urlPath){
document.getElementById("content").innerHTML = response.html;
document.title = response.pageTitle;
window.history.pushState({"html":response.html,"pageTitle":response.pageTitle},"", urlPath);
}
Затем вы можете использовать window.onpopstate
для обнаружения навигации по кнопке назад/вперед:
window.onpopstate = function(e){
if(e.state){
document.getElementById("content").innerHTML = e.state.html;
document.title = e.state.pageTitle;
}
};
Для более детального рассмотрения манипуляций с историей браузера смотрите эту статью MDN.
Предполагая, что вы не пытаетесь сделать что-то вредоносное, все, что вы хотели бы сделать со своими собственными URL-адресами, может быть волшебным образом реализовано с htaccess .
Любые изменения локона (либо window.location
, либо document.location
) вызовут запрос на этот новый URL, если вы не просто изменение фрагмента URL. Если вы измените URL, вы измените URL.
Используйте методы перезаписи URL на стороне сервера, такие как mod_rewrite Apache , если вам не нравятся URL, которые вы используете в настоящее время.
ПРИМЕЧАНИЕ. Если вы работаете с браузером HTML5, этот ответ следует игнорировать. Теперь это возможно, как видно из других ответов.
Невозможно изменить URL-адрес в браузере без перезагрузки страницы. URL-адрес представляет собой последнюю загруженную страницу. Если вы измените его ( document.location
), то он перезагрузит страницу.
Одной из очевидных причин является то, что вы пишете сайт на www.mysite.com
, который выглядит как страница входа в банк. Затем вы изменяете строку URL браузера на: www.mybank.com
. Пользователь будет совершенно не в курсе, что он действительно просматривает www.mysite.com
.
Вы можете добавлять теги привязки. Я использую его на своем сайте http://www.piano-chords.net/ , чтобы я мог отслеживать с помощью Google Analytics, что люди посещают на странице.
Я просто добавляю тег привязки и затем часть страницы, которую я хочу отслеживать:
var trackCode = "/#" + urlencode($("myDiv").text());
window.location.href = "http://www.piano-chords.net" + trackCode;
pageTracker._trackPageview(trackCode);
HTML5 представил методы history.pushState ()
и history.replaceState ()
, которые позволяют добавлять и изменять записи истории соответственно.
window.history.pushState('page2', 'Title', '/page2.php');
Подробнее об этом читайте в здесь