2017-07-26 142 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(); 
}