jQuery Mobile 是不是可以在它加载的第一页中显示哈希?

Posted

技术标签:

【中文标题】jQuery Mobile 是不是可以在它加载的第一页中显示哈希?【英文标题】:Is it possible for jQuery Mobile to show the hash in the first page it loads?jQuery Mobile 是否可以在它加载的第一页中显示哈希? 【发布时间】:2012-04-08 04:47:49 【问题描述】:

如果我有一个index.html 文件并且它包含多个页面。当我加载页面时,我希望 URL 包含哈希 #first,也就是 index.html#first。相反,网址显示index.html

到目前为止,我的工作是创建一个假首页,然后直接链接到 index.html#first,希望永远不会显示“真实”首页,即 index.html#fake

有更好的方法吗?

<body>

    <!--
        fake page
    -->
    <div data-role="page" id="fake">
        <div data-role="content">
            fake
        </div>
    </div>

    <!--
        first
    -->
    <div data-role="page" id="first">
        <div data-role="content">
            first
        </div>
    </div>

    <!--
        second
    -->
    <div data-role="page" id="second">
        <div data-role="content">
            second
        </div>
    </div>
</body>

【问题讨论】:

可以将假页面放在首页并且从不引用它吗?那行得通吗?或者它必须在你身体的顶部? 【参考方案1】:

如果 index.html 页面上存在哈希码,为什么不签入 JS,如果没有,则可以将浏览器重定向到 index.html#first

$(function () 
    if (window.location.hash.length == 0) 
        window.location = window.location.href + '#first';    
    
);

【讨论】:

【参考方案2】:

配置您的网络服务器,以便对“index.html”的请求对“/”的请求(没有文件的路径!)返回 301 Moved Permanently 响应以重定向到“index.html#first” '

也就是说,我无法想象您为什么要将哈希值强制到 url 上;也许是一个不够强大的库?正确编码的 http://example.com/http://example.com/index.htmlhttp://example.com/index.html#first 可以而且应该(恕我直言)都表现相同。

【讨论】:

以上是关于jQuery Mobile 是不是可以在它加载的第一页中显示哈希?的主要内容,如果未能解决你的问题,请参考以下文章

手机页的点击事件怎么写,是不是还要加载jquery mobile? 能不能同时加载电脑版jquer

页面加载时的 jQuery Mobile 对话框

Jquery mobile 和 google maps openinfowidow 加载而不是点击

我的.on Swipe只能在它休息之前工作一次并且必须刷新一切--JQuery Mobile / Javascript

我可以使用 $.mobile.loadPage() 一次加载我所有的 jQuery Mobile 页面吗?

jQuery mobile 是不是需要 jQuery UI 来处理虚拟事件?