URL для результатов запросов Ajax - PullRequest
0 голосов
/ 24 января 2010

Привет, ребята. Я разработал приложение Google Maps с функцией аккуратного поиска - однако я заметил, что хотел бы получить что-то вроде того, что сделали ребята из Facebook, например, иметь жесткую ссылку на страницу, созданную AJAX-запрос. Например, вы нажимаете на ссылку в Facebook, и она добавляется к текущему URL, и вы можете скопировать, вставить новый URL, чтобы получить запрошенную страницу ... как мне реализовать что-то подобное ...

Ответы [ 2 ]

2 голосов
/ 24 января 2010

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

хорошее решение для этого:

Действительно простая история

http://code.google.com/p/reallysimplehistory/

Действительно простая история - легкий Библиотека JavaScript для управления закладок и истории браузера в Ajax / DHTML-приложения. RSH сериализует данные приложения в внутренний кеш JavaScript, чтобы закладки и кнопка возврата могут быть используется для возврата вашего заявления в более раннее состояние.

посмотрите на этот отличный пример:

http://www.justise.com/2009/01/26/enabling-the-back-button-in-ajax-applications/

1 голос
/ 24 января 2010

Вы можете использовать location.hash (часть URL после #) , чтобы установить "жесткие ссылки" при отключении JavaScript. Это не приводит к перезагрузке страницы, как при изменении location.href, но вы можете извлечь значение и использовать его в JavaScript.

Рассмотрим этот пример:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<head>
    <title>Hash test</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript">
    window.onload = function() {
        // The substring(1) removes the # from the hash.
        var hash = window.location.hash.substring(1);

        // Use a default value if no has was passed.
        if(hash == '') {
            hash = 'Nothing';
        }

        // Use the value.
        document.getElementById('selection').innerHTML = hash;
    }

    /** Sets the hash and updates the page value */
    function setHash(newHash) {
        window.location.hash = newHash;
        document.getElementById('selection').innerHTML = newHash;
    }
    </script>
</head>
<body>
    <div>
        <div>
            <a href="javascript: void();" onclick="setHash('page1');">Page 1</a> | 
            <a href="javascript: void();" onclick="setHash('page2');">Page 2</a> |
            <a href="javascript: void();" onclick="setHash('page3');">Page 3</a>
        </div>
        <div>
            You have selected: <span id="selection">...</span>
        </div>
    </div>
</body>
</html>

Когда вы нажимаете на одну из ссылок на странице, location.hash изменяется, URL-адрес браузера обновляется, а значение, используемое на странице, изменяется. Если пользователь затем скопирует URL-адрес непосредственно из адресной строки или добавит его в закладки, выбранная страница будет перезагружена при повторном запросе URL-адреса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...