Как использовать Javascript для поиска по координатам X-Y в моем браузере? - PullRequest
4 голосов
/ 16 сентября 2008

Я пытаюсь сделать так, чтобы, когда пользователь прокручивает страницу вниз, щелкает ссылку, делает все, что ему нужно, а затем возвращается на страницы со ссылками, они совпадают ) расположение в браузере они были раньше. Как мне это сделать?

Я новичок в DOM, поэтому я не знаю, как это сделать.

Целевые браузеры: IE6 / 7/8, Firefox 2/3, Opera, Safari

Добавлено: я использую программу под названием JQuery, чтобы помочь мне выучить

Ответы [ 5 ]

3 голосов
/ 24 сентября 2008

Чтобы получить x-y местоположение, где пользователь нажимал на страницу, используйте следующий код jQuery:

<html>
    <head>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript">
            jQuery(document).ready(function(){
                $("#special").click(function(e){
                    $('#status2').html(e.pageX +', '+ e.pageY);
                }); 
            });
        </script>
    </head>
    <body>
        <h2 id="status2">
            0, 0
        </h2>
        <div style="width: 100px; height: 100px; background:#ccc;" id="special">
            Click me anywhere!
        </div>
    </body>
</html>
0 голосов
/ 16 сентября 2008

Обычно браузер сохраняет окно просмотра страницы, если вы уйдете, а затем вернетесь назад (попробуйте все страницы на вашем любимом новостном сайте). Единственное исключение из этого - вероятно, если вы измените настройки кэша, чтобы повторно загружать и каждый раз заново отображать страницу.

Не делать этого (то есть не настраивать вашу страницу, чтобы она никогда не кэшировалась), вероятно, самый простой и наименее навязчивый способ решения вашей проблемы.

0 голосов
/ 16 сентября 2008

Попробуйте это или это .

0 голосов
/ 16 сентября 2008

Насколько я помню, код для получения позиции в окне просмотра отличается в разных браузерах, поэтому было бы проще использовать какой-то фреймворк, например, Prototype имеет функцию document.viewport.getScrollOffsets (который, я полагаю, тот, который вам нужен).

Однако получение координат - это только одна часть, другая будет что-то делать с ними позже. В этом случае вы можете добавить прослушиватель события в событие window.unload, при его запуске сохранить местоположение в файле cookie и позже, когда пользователь снова откроет страницу, проверить, присутствует ли этот файл cookie, и прокрутить соответствующим образом.

Хотя, если все, что вас волнует, это вернуть пользователя туда, где он был, когда он заходит на страницу с помощью кнопки «Назад» браузера, разве большинство браузеров уже не делают этого автоматически?

0 голосов
/ 16 сентября 2008

Вы можете использовать offsetLeft и offsetTop

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