как обновить адрес URL при загрузке нового контента с помощью Jquery - PullRequest
0 голосов
/ 06 января 2011

В основном я использую такие функции, как:

function ver_pregunta(id){
        $("#router").fadeOut(100).load('./includes/router.php?que=ver_pregunta&id='+id).fadeIn(1000);
        return false;
    }

для загрузки нового контента в асинхронном режиме. Хорошо, но я всегда использую один и тот же URL, как я могу просто обновить URL, НАЗВАНИЕ и ОПИСАНИЕ с помощью JS / JQuery?

Ответы [ 3 ]

2 голосов
/ 06 января 2011

Вы можете установить только привязку имени в URL, в основном yourpage.com/#/someurl/ невозможно изменить весь URL без перезагрузки всей страницы.

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

location.hash='#/my/name/anchor/path';

Если вы хотите использовать его таким образом (чтобы указать на вашу страницу с помощью привязки имени), вам нужно определить какую-то проверку для загрузки нужного контента с помощью функции ver_pregunta,в основном берется location.hash, например, если ваш url = www.someurl.com/#myid, вы можете запустить:

if(location.hash!=""){
   ver_pregunta(location.hash.substring(1));
}

или лучше установить список разрешенных идентификаторов:

var mypaths={"myid1":1,"myid2":1,"myid3":1}

и сравнить его с location.hash:

if(location.hash!="")
  var lh=location.hash.substring(1);
  if(mypaths[lh]==1)ver_pregunta(lh);
}

Для заголовка:

$('title').text('new title');

Для описания:

$('meta[http-equiv="description"]').attr('content','new description');

Если вы хотите сделать это по причинам SEO, это не такработают, боты Google не используют JS, они подберут только статический HTML

Cheers

G.

0 голосов
/ 06 января 2011

Использовать встроенную в JavaScript функцию окна.

window.location.replace('http://www.google.com/')
0 голосов
/ 06 января 2011
window.location = "#newurl";
document.title = 'new title'; 
$('meta[name=description]').attr("content", "new description")
...