2017-07-26 226 views
0

我有一个脚本确定用户是否访问过PC或移动设备上的特定站点(例如test-abc.com)。Javascript'window.location.href'只能在移动设备上第一次使用

如果从移动设备访问该站点,脚本应该将用户重定向到移动应用程序(例如,测试ABC应用程序)。但是,它只是第一次成功地重定向用户。 第二次尝试在移动设备上加载站点时,脚本不再重定向。

如何强制重定向,或者我可以使用其他方法使移动设备打开应用程序? 请不要给'只清除缓存'等建议,因为我们无法让客户那么做。

if (wpmd_is_notdevice()) { // User loaded website on desktop 
    // Do something 
} else { // Redirect to app 
    ?> 
    <script> 
     window.location.href = 'https://app.abc-test.com'; 
    </script> 
    <?php 
    exit(); 
} 
+1

我们如何解决的想法的要点

//scripts.js function redirect() { window.location.href = 'https://app.abc-test.com'; } redirect(); 

然后你的代码,如果你不分享它。 [mcve] – mkaatman

+0

添加了PHP脚本,谢谢。 –

回答

0

您可以尝试对脚本进行版本控制,使其不会被缓存。将你的JavaScript函数放在一个外部文件中,然后通过php为该文件添加一个版本号。

我的PHP也不是很大,所以你probaly需要编辑一下,但你会在HTML

if (wpmd_is_notdevice()) { // User loaded website on desktop 
    // Do something 
} else { // Redirect to app 
    ?> 

    // generate random number in php and insert as version number 
    $versionNumber = rand(10,100); 
    $versionNumber = (string)$versionNumber; 
    $script = "<script src='/scripts.js?v='" . $versionNumber ."'></script>" 

    echo $script; 
    <?php 
    exit(); 
}