Прочитать текущий Pageurl из URL, используя JavaScript - PullRequest
2 голосов
/ 01 марта 2011

Итак, у меня есть этот URL, например:

index.html#page:page.php

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

'Потому что я использую эту функцию сейчас:

function getdata(file){

    $('#content').fadeOut('slow', function () { 
        $.get(file, function(data) {
            $('#content').html(data);
            $('#content').fadeIn('slow');
        })
    })

}

И я хочу сделать что-то вроде этого

// if #page is set and #page isn't empty
getdata('src/'+ that-page);

и в меню: <a href="#page:contact.php" onclick="getdata('src/contact.php');">Contact</a>

Так что URL, чем index.php # page: contact.php, и если кто-то переходит на этот URL, он делает это:

// if #page is set and #page isn't empty
    getdata('src/'+ that-page);

Надеюсь, теперь все понятно ...

Так, как я могу прочитать, что стоит за #page: в URL?

Ответы [ 3 ]

4 голосов
/ 01 марта 2011

Вы можете получить хеш страницы, так как он хранится в window.location.hash.

Чтобы разобрать его и получить только имя файла, который вы ищете, вам нужно сделать что-то вроде этого:

// #page:test.php
var page = window.location.hash;
    page = page.replace('#page:', '');

alert(page); // test.php

Кроме того, не вызывайте переменную that-page, так как она потерпит неудачу.

1 голос
/ 01 марта 2011

И вы можете уменьшить количество вызовов селектора "#content", сохранив его в переменной:

$content = $('#content');
$content.fadeOut('slow', function () {
    $.get(file, function(data) {
        $content.html(data);
        $content.fadeIn('slow');
    });
});

=)

1 голос
/ 01 марта 2011

попробуй

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