Изменение URL при посещении пользователями с помощью jQuery - PullRequest
0 голосов
/ 03 августа 2011

Я должен сделать это, используя jQuery ...

Когда пользователи посещают любую страницу на моем веб-сайте (с другого сайта), это должно произойти (путь меняется)

http://www.mywebsite.com/pathname/

становится

http://www.mywebsite.com/#!/pathname

Мне нужна помощь с синтаксисом.

Большое спасибо за ваше время и помощь.

Ответы [ 4 ]

2 голосов
/ 03 августа 2011
$(document).ready(function(){
    var pieces = location.href.split('/');
    if (pieces[3].indexOf('#!') !== 0) {
        if (location.href.indexOf('#!') != -1) {
            pieces = location.href.replace('#!','').split('/');
        }
        pieces[3] = '#!/'+pieces[3];
        location.href = pieces.join('/');
    }
});

Чтобы скрыть содержимое:

// I don't know you actually need this, since it may hide content
// in some cases when the redirect may not work, which might give
// the user a blank white page.
// Alternatively, you could use CSS as Ben notes, although you would
// only need display: none on the body tag.
$('body').ready(function(){$(this).hide();});

// Note, this is NOT in a handler.
var pieces = location.href.split('/');
if (pieces[3].indexOf('#!') !== 0) {
    if (location.href.indexOf('#!') != -1) {
        pieces = location.href.replace('#!','').split('/');
    }
    pieces[3] = '#!/'+pieces[3];
    location.href = pieces.join('/');
}

Демо: http://jfcoder.com/test/redirect.html

0 голосов
/ 03 августа 2011

за что стоит

var blah = document.referrer.substr(document.referrer.indexOf("/")+2);
if(blah.substr(0,blah.indexOf("/")) != location.host) location.href = (location.host + "/#!" + location.pathname);
0 голосов
/ 03 августа 2011

Вы можете попробовать это (не проверено):

var pathname = window.location.pathname;
var hostname = window.location.hostname;
var newPath = pathname.replace(pathname, "#!" + pathname);
window.location.href = hostname + pathname;
0 голосов
/ 03 августа 2011

Вам не нужно делать это с помощью jQuery. Вы можете просто использовать window.location.href = "new url";

Однако, если вы настаиваете ...

var url = $(location).attr("href");
var path = url.substring(url.indexOf("com")+3);
var newurl = "http://www.mywebsite/#!" + path;
$(location).attr("href",newurl);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...