2016-01-04 12 views
5

Domyślna strona główna na naszych stacjach roboczych firmy jest http://intranet, który jest naszą wewnętrzną stronę SharePoint ustawiona przez zasady grupy. Teraz, jeśli użytkownik próbuje otworzyć IE na laptopie, gdy są poza nim, są (oczywiście) witani przez błąd "Nie można wyświetlić strony". Powoduje to zamieszanie u naszych mniej wyrafinowanych użytkowników, którzy kończą kontakt z naszym działem pomocy technicznej, mimo że nie ma nic złego w ich połączeniu z Internetem.HTML przekierowanie do innego adresu URL w oparciu o dostępności serwera

Chciałbym ustawić domyślną stronę główną na lokalny plik .html, który użyje przekierowania HTTP, aby przesłać przeglądarkę do naszej publicznej strony internetowej, jeśli nie można uzyskać dostępu do wewnętrznego adresu URL.

Czy to możliwe?

+0

Powinno być możliwe, ale może być denerwujące. Teoretycznie trzeba wykonać wywołanie w tle do wewnętrznej strony i sprawdzić, czy to się skończyło. Jeśli tak, to przejdź do publicznego. W tym czasie użytkownik będzie patrzył na puste lub proszę czekać ekran przy każdym uruchomieniu. –

Odpowiedz

3

Zbyt często coś, co wydaje się łatwe do wdrożenia może okazać się dość trudne. W tym przypadku JavaScript zabrania wywołań między domenami dla środków bezpieczeństwa, więc XMLHttpRequest nie jest opcją.

Wydaje się, że najlepszym rozwiązaniem byłoby wdrożenie rozwiązania omawianego tutaj: Test url availability with javascript.

Zrobiłem kilka szybkich testów w IE i Chrome & ten kod działa dobrze w obu. (IE narzekać uruchomieniu skryptu na stronie lokalnej, ale to byłby taki sam bez względu na to rozwiązanie.)

<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>

Oto kolejny link, który omawianie tego rozwiązania: https://petermolnar.eu/test-site-javascript/.

Mam nadzieję, że to pomoże.

Powiązane problemy