在html页面之间转换时,如何设置jquery链接的基本URL

时间:2012-01-27 03:51:03

标签: jquery jquery-mobile

我有两个页面,index.html和testpage.html

testpage.html包含两个页面元素foo和bar,它们之间有链接。

我使用ajax调用从index.html过渡到testpage.html。问题是testpage.html上的链接使用index.html作为基本URL。因此,当我尝试从#foo转到#bar时,我会抓住一个pagechangefail

 $( document ).bind( "pagechangefailed", function( event, data ){
            alert('failed change ' + data.toPage);

        });

此警告“更改失败http://domain.com/mobile/index.html#bar

问题显然是index.html上不存在#bar,但testpage.html上确实存在#bar。我不明白为什么链接试图链接回原始页面。如何手动设置链接或尝试以某种方式手动覆盖?我试过像

这样的东西
$.mobile.changePage('testpage.html#bar');

但没有运气。

1 个答案:

答案 0 :(得分:0)

我认为jQM认为这是'深层链接',但我发现这不是你想要实现的目标

  

请注意:由于我们使用哈希来跟踪所有Ajax“页面”的导航历史记录,因此目前无法深入   链接到jQuery Mobile页面上的锚(index.html#foo),   因为框架会查找ID为#foo的“页面”   而不是滚动到内容的本机行为   ID。

我认为(但尚未尝试过此操作)您需要先使用$.mobile.loadPage('testpage.html')将页面加载到DOM中,然后使用$.mobile.changePage('#bar')进行转换。

更多相关内容:

此外,我已经看到使用 目标属性 ,但不确定这是否可以使用$.mobile.changePage()