使用hashtag将url更改为另一个url,以便在jquery中使用它

时间:2011-06-15 06:25:30

标签: jquery url redirect

我使用jquery选项卡..当访问者访问时:mysite.com/#user-20我使用jquery在隐藏的div中加载用户数据..我从我的php文件中获取数据:mysite.com/user / 20

问题是:如果用户直接访问mysite.com/user/20,他将获得无组织数据,因为该模板文件没有名为(user.tpl)的页脚标题

我想重新定位访问者,如果他在网址(mysite.com/user/20)中打印,请将其重定向到(mysite.com/#user-20) 喜欢推特..如果你转到http://twitter.com/twitter,他会将你重定向到http://twitter.com/#!/twitter

我想要一样! 我使用codegniter框架:)

4 个答案:

答案 0 :(得分:0)

不确定我是否理解正确,但在javascript(不是严格的jQuery)中,您可以将用户重定向到另一个页面:

location.href = 'http://mysite.com/#user-20';

答案 1 :(得分:0)

您可以使用此代码获取当前窗口网址,然后根据您的要求操作此网址(在这种情况下正则表达式会更有帮助)。

var url = $(location).attr('href'); 

然后以这种方式将新形成的URL分配给窗口 -

window.location.pathName = newlyFormedURL;(for ex-'http://mysite.com/#user-20')

答案 2 :(得分:0)

我不确定如何在codeIgniter中执行此操作,但同样理想的方法是让您的javascript在AJAX中加载数据,即请求mime类型为application / json。因此,在url / user / 20的控制器中,您应该检查请求mime类型并做出相应的响应。如果mime类型是application / json那么很好,否则你可以将用户重定向到你想要的相应URL。

答案 3 :(得分:0)

谢谢大家,我真的很感激你的答案:) 我用这段代码做了:

 var current_url = location.href ;
 if( current_url.indexOf( 'user/' ) !== -1 ) { // if not using # hashtag , so redirect him
 var user_id = current_url.substring(current_url.lastIndexOf('/')+1);
 location.href = 'http://mysite.com/#user-'+user_id ;
}