2016-01-04 22 views
5

La home page predefinita per le workstation aziendali è http://intranet, che è il nostro sito interno di SharePoint impostato in base al criterio di gruppo. Al momento, se un utente tenta di aprire Internet Explorer su un laptop quando si trova fuori sede, viene (ovviamente) accolto da un errore "Impossibile visualizzare la pagina". Questo crea confusione dai nostri utenti meno sofisticati e finiscono col chiamare il nostro help desk anche se non c'è niente di sbagliato nella loro connessione internet.Reindirizzamento HTML a un URL diverso in base alla disponibilità del server

Quello che mi piacerebbe fare è impostare la home page predefinita su un file .html locale che utilizzerà un reindirizzamento HTTP per inoltrare il browser al nostro sito Web pubblico se l'URL interno non è raggiungibile.

È possibile?

+0

Dovrebbe essere possibile ma potrebbe essere fastidioso. In teoria dovresti eseguire una chiamata in background al sito interno e vedere se scade. Se è così, allora vai al pubblico. Durante questo periodo l'utente dovrebbe fissare uno spazio vuoto o attendere lo schermo ogni volta che viene avviato. –

risposta

3

Troppo spesso, qualcosa che sembra facile da implementare può rivelarsi piuttosto impegnativo. In questo caso, JavaScript proibisce le chiamate tra domini per misure di sicurezza, quindi XMLHttpRequest non è un'opzione.

Sembra che l'opzione migliore sarebbe implementare la soluzione discussa qui: Test url availability with javascript.

Ho eseguito alcuni test rapidi su Chrome & IE e questo codice ha funzionato bene in entrambi. (IE si lamentano l'esecuzione dello script in una pagina locale, ma questo sarebbe lo stesso indipendentemente soluzione.)

<html> 
 
<head></head> 
 
<body> 
 
<script> 
 
function checkServerStatus(url) 
 
{ 
 
    var script = document.body.appendChild(document.createElement("script")); 
 
    script.onload = function() 
 
    { 
 
     alert(url + " is online."); 
 
    }; 
 
    script.onerror = function() 
 
    { 
 
     alert(url + " is offline."); 
 
\t window.location.replace("http://google.com"); 
 
    }; 
 
    script.src = url; 
 
} 
 
checkServerStatus("http://google.com"); 
 
checkServerStatus("http://intranet"); 
 
</script> 
 
</body>

Ecco un altro link che discutere questa soluzione: https://petermolnar.eu/test-site-javascript/.

Spero che questo aiuti.

Problemi correlati