如何让jQuery Mobile网站上的完整站点按钮正常工作?

时间:2012-10-13 01:40:24

标签: javascript jquery mobile jquery-mobile

我设计了一个网页和同一页面的移动版本(使用jQuery Mobile)。

我有javascript代码,用于检测用户是否使用移动设备,然后重定向到移动网站(mobile.html)。

但是,当用户试图从移动网站转到桌面或整个网站时,它会显示页面,但看起来并不正确......当在移动设备上查看时,它会被放大并移位。 / p>

************The Javascript to detect mobile device************

var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));  
 if (mobile) { 
    document.location = "http://www.somedomain.com/mobile.html";  }
 }  




************jQuery Mobile button for Full Site ***************

<ul data-role="listview" data-inset="true">
        <li>
            <a href="http://www.somdomain.com/?view=full">Full Site</a>
        </li>
</ul>

如何在移动设备上重定向到完整网站?

3 个答案:

答案 0 :(得分:3)

显然你会回到移动网站,因为它会运行你的检测脚本并直接重定向你。您需要使用技术来避免这种情况。

您需要查看刚刚从移动网站上传来的完整网站,并且不想回去。

完整网站上的一些示例:

  • 检查查看是否设置为“完整”。如果 true ,请设置cookie或php会话以避免运行检测脚本。
  • 检查推荐人是否为移动网站。如果 true ,请不要运行检测脚本。

希望这能让你顺利上路。

答案 1 :(得分:3)

感谢Gillian Lo-Wong,我能够得到以下代码为我工作......

home.html的

function urlParam(name){
            var results = new RegExp('[\\?&amp;]' + name + '=([^&amp;#]*)').exec(window.location.href);
            if(results)
                return results[1] || 0;
            else
                return '';
        }

        if(urlParam('view') == 'full'){ 
        }
        if(urlParam('view') == ''){
            // <![CDATA[
            var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));  
            if (mobile) { 
                    document.location = "http://www.mysite.com/mobile.html";  
            }  
            // ]]>
        }

和mobile.html代码

<a href="http://www.mysite.com?view=full" data-ajax="false">Full Site</a>

答案 2 :(得分:0)

您可以尝试将rel="external"添加到指向您桌面网页的<a>链接:

<ul data-role="listview" data-inset="true">
    <li>
        <a href="http://www.somdomain.com/?view=full" rel="external">Full Site</a>
    </li>
</ul>

这将禁用Ajax导航,并确保刷新页面,删除将桌面页面转换为移动页面的数据。

如果这对您有用,请告诉我。