我目前正在使用jquery.address插件来实现深层链接。
例如,我想加载test1.html。我点击链接,它显示在地址栏/#/ test1上。 我想只显示没有主题标签的/ test1。我在用户重新加载页面时使用PHP。
这是我的代码:
JS -
<script type="text/javascript">
/*<![CDATA[*/
$("document").ready(function(){
function loadURL(url) {
console.log("loadURL: " + url);
$("#area").load(url);
}
// Event handlers
$.address.init(function(event) {
console.log("init: " + $('[rel=address:' + event.value + ']').attr('href'));
}).change(function(event) {
$("#area").load($('[rel=address:' + event.value + ']').attr('href'));
console.log("change");
})
$('a').click(function(){
loadURL($(this).attr('href').replace('', /^#/));
});
});
/*]]>*/
</script>
HTML -
<a href="test1.html" rel="address:/test1">Test 1</a> <br />
<a href="test2.html" rel="address:/test2">Test 2</a> <br /> <br /> <br />
Load Area: <br />
<div id="area"></div>
提前感谢您的帮助!
答案 0 :(得分:0)
loadURL($(this).attr('href').replace(/^#/, ''));
编辑:请注意,^
表示正则表达式中的"beginning of string"。这意味着它不匹配字符串"/#/test1"
中的任何内容。如果你想剥离/#/
,你应该使用它:
'/#/test1'.replace(/\/#\//, '');
答案 1 :(得分:0)
为什么不拆分它并采取最后一节?
var urlArray = $(this).attr('href').split('/');
var page = urlArray[urlArray.length - 1];
loadURL(page);