Javascript'window.location.href'仅适用于移动设备

时间:2017-07-26 15:24:15

标签: javascript php mobile

我有一个脚本可以确定用户是否在PC或移动设备上访问过某个特定网站(例如test-abc.com)。

如果从移动设备访问该站点,则该脚本应将用户重定向到移动应用程序(例如,测试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 个答案:

答案 0 :(得分:0)

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

我的PHP不是很好,所以你可能需要编辑一下,但你会得到这个想法的要点

//scripts.js

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

redirect();

然后在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();
}