Ajax перенаправление на основе фрагмента? - PullRequest
1 голос
/ 18 марта 2011

считают, что у меня есть массив с некоторыми URL:

$array[0]='mywebsite/pagea';
$array[1]='mywebsite/pageb';
$array[2]='mywebsite/pagec';
//> please note this is the PHP array, but I can output as a javascript array without problems

Я выведу их в моем link.php

Есть ли способ с jQuery прочитать этот фрагмент (idX) изатем перенаправить на соответствующий URL-адрес?

Edit

Думая о совместимости (браузеры без javascript) Теперь давайте посмотрим, у меня есть такая ссылка:

<a href="mywebsite/pagea" class="intercept">pagea</a>
<a href="mywebsite/pagea" class="intercept">pageb</a>
<a href="mywebsite/pagea" class="intercept">pagec</a>

Для браузера безjavascript ссылка будет работать как обычно, для всех остальных я буду делать как

$('.intercept').onClick( function (){

  //> append the hashtag to the current url
  //> make the right redirect after some interval (ie this.href)
  //> how? xD
});

На данный момент мне нужно только проверить, был ли URL открыт с помощью хэштега, и сделать правильное перенаправление.

Ответы [ 2 ]

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

Я неправильно понял ваш оригинальный вопрос.Извините.

Предполагается, что $ array является массивом или объектом javascript.

   $('a').click(function(){
        var url = $(this).attr('href'),
            id= parseInt(url.split('#id')[1]);

        window.location = $array[id];
    });
0 голосов
/ 18 марта 2011

Если вы хотите инициировать перенаправление, даже если кто-то заходит на страницу с хэшем, вы хотите использовать событие hashchange. Плагин jQuery bbq упрощает кросс-браузер с помощью события hashchange .

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

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