我正在尝试从外部站点创建一个链接,该链接到达我正在构建的 JQTouch 站点上的特定内部面板。但是,无论我在链接中使用什么锚标记,浏览器总是会打开 JQT 站点的主面板。
例如,如果我尝试链接到官方 JQTouch 演示中的用户界面面板,我使用http://www.jqtouch.com/preview/demos/main/#ui但主面板显示在浏览器中,而不是子面板我请求了。
任何建议都会非常受欢迎。我可以控制链接站点和链接站点,因此需要调整代码。
谢谢
我正在尝试从外部站点创建一个链接,该链接到达我正在构建的 JQTouch 站点上的特定内部面板。但是,无论我在链接中使用什么锚标记,浏览器总是会打开 JQT 站点的主面板。
例如,如果我尝试链接到官方 JQTouch 演示中的用户界面面板,我使用http://www.jqtouch.com/preview/demos/main/#ui但主面板显示在浏览器中,而不是子面板我请求了。
任何建议都会非常受欢迎。我可以控制链接站点和链接站点,因此需要调整代码。
谢谢
根据源代码(http://code.google.com/p/jqtouch/source/browse/trunk/jqtouch/jqtouch.js) - jqTouch 将加载页面的任何部分,首先current
添加了类。
jqtouch.js的第179行:
// Make sure exactly one child of body has "current" class
if ($('#jqt > .current').length == 0) {
currentPage = $('#jqt > *:first');
} else {
currentPage = $('#jqt > .current:first');
$('#jqt > .current').removeClass('current');
}
// Go to the top of the "current" page
$(currentPage).addClass('current');
location.hash = '#' + $(currentPage).attr('id');
addPageToHistory(currentPage);
因此,最好的办法可能是在运行 jqtouch 源之前window.location.hash
检查您的变量,并设置类中存在的哈希值。current
类似于这种启发式的东西:
<script include jquery>
<script>
var cur = document.location.hash;
if (cur) {
$('.current').removeClass('current');
$(cur).addClass('current');
}
</script>
<script include jqtouch>