2017-02-23 42 views
0

因此,我希望我的购物车在移动设备上的标头中点击时始终链接,该脚本在所有平台上都能正常工作,但希望将其严格限制为只能移动。该脚本位于我的blockcart.tpl文件(prestashop 1.6.1.9)中。仅针对移动设备javascript

{literal} 
<script type="text/javascript"> 
    $(".shopping_cart").click(function() { 
    location.href = "{/literal} 
    {$link->getPageLink($order_process,true)|escape:'html':'UTF-8'} 
    {literal}"; }); 
</script> 
{/literal} 

这个脚本只针对移动设备的任何帮助吗?

我想这(但不工作):

{literal} 
{if isset($displayMobile)} 
<script type="text/javascript"> 
    $(".shopping_cart").click(function() { 
    location.href = "{/literal} 
    {$link->getPageLink($order_process,true)|escape:'html':'UTF-8'} 
    {literal}"; }); 
</script> 
{/if} 
{/literal}  
+0

“移动”通常是一个非常可怕的事情,试图定位。你真的*关心什么?触摸屏?小显示器?计量互联网连接?互联网连接缓慢?经常中断的互联网连接?还有别的吗? – Quentin

+0

另一种解决此问题的方法是: A. 2个相同的按钮。一个.shopping_cart_mobile和另一个.shopping_cart_desktop。 B.使用媒体查询,使.shopping_cart_mobile仅在移动屏幕(仅限特定尺寸)下可见,而.shopping_cart_desktop仅在移动指定尺寸以上的屏幕上可见 C.为.shopping_cart_mobile提供一个JavaScript单击事件移动的东西。为.shopping_cart_desktop另一个javascript单击事件,可以实现您典型的景观效果。 – Angela

+0

我明白我可以使用display:none;对于某个设备宽度添加另一个div链接来显示某些screenize的int值,但是真的想要使用脚本来定位736px以下的任何移动设备,我会说。因此,没有办法针对此特定的屏幕大小引起?? – Ylama

回答

1

有在的Prestashop一个PHP类来检测移动设备。你可以用它来检测移动设备,并通过一个聪明的变量来检查你blockcart.tpl

$mobile = new Mobile_Detect(); 
if ($mobile->isMobile()) { 
      $this->context->smarty->assign('ismobile', 1); 
     } else { 
      $this->context->smarty->assign('ismobile', 0); 
     }