我正在编写一个使用图像映射的网页。图像和地图是动态加载的。如果我单击区域元素,则会加载新内容。url 也改变了它的哈希值(例如 index.php#somepage)。我有三层页面,主层(主页)有自己的图像和地图(index.php),第二层提供新图像+地图(index.php#somepage),第三层打开覆盖第二层,因此更改哈希(index.php#somepage_somesubpage)。
我现在希望能够向某人发送指向 index.php#somepage_somesubpage 的链接。所以我对hash进行切片,并在页面加载时触发第一级imagemap的click-method来加载index.php#somepage。我添加了一个回调,调用现在更新的图像映射所需的点击方法。由于某种我无法弄清楚的原因,这不起作用。我可以打开 index.php#somepage,但是当我输入 index.php#somepage_somesubpage 时,我最终得到了相同的结果。
这是 $(document).ready 的代码:
var cont = $('#content');
$( document ).ready(function() {
cont.load('pages/home.php', function(responseTxt,statusTxt,xhr){
if(statusTxt=='error')
{
cont.load('404.php');
}
lineparser('#content'); //Perform some fancy stuff on the page
var hash = location.hash.replace('#', '');
if (hash != ''){
if(hash.indexOf('_') > 0)
{
//open page with content
$('area[href~="#' + hash.slice(0, hash.indexOf('_')) + '"]').first().trigger("click", function(){
$('area[href~="#' + hash + '"]').first().trigger("click");
});
}
else{
//open menu page
$('area[href~="#' + hash + '"]').first().trigger("click");
}
}
});
});