2016-01-04 20 views
5

Trang chủ mặc định cho máy trạm của công ty chúng tôi là http://intranet, là trang SharePoint nội bộ của chúng tôi được đặt theo chính sách nhóm. Ngay bây giờ, nếu người dùng cố gắng mở IE trên máy tính xách tay khi họ ở ngoài trang web, họ (rõ ràng) được chào đón bằng lỗi "Trang không thể hiển thị". Điều này gây ra sự nhầm lẫn từ người dùng ít phức tạp của chúng tôi và họ kêu gọi bàn trợ giúp của chúng tôi mặc dù không có gì sai với kết nối internet của họ.Chuyển hướng HTML đến URL khác nhau dựa trên tính khả dụng của máy chủ

Điều tôi muốn làm là đặt trang chủ mặc định thành tệp .html cục bộ sẽ sử dụng chuyển hướng HTTP để chuyển tiếp trình duyệt đến trang web công khai của chúng tôi nếu không thể truy cập URL nội bộ.

Điều này có khả thi không?

+0

Điều đó có thể xảy ra nhưng có thể gây phiền toái. Về lý thuyết, bạn sẽ phải thực hiện một cuộc gọi nền tới trang nội bộ và xem nó có hết thời gian không. Nếu vậy thì hãy đi đến nơi công cộng. Trong thời gian này, người dùng sẽ nhìn chằm chằm vào màn hình trống hoặc vui lòng chờ mỗi lần khởi động. –

Trả lời

3

Tất cả thường xuyên, điều gì đó có vẻ dễ thực hiện có thể trở nên khá khó khăn. Trong trường hợp này, JavaScript cấm các cuộc gọi tên miền chéo cho các biện pháp bảo mật, do đó, XMLHttpRequest không phải là một tùy chọn.

Dường như tùy chọn tốt nhất của bạn là triển khai giải pháp được thảo luận tại đây: Test url availability with javascript.

Tôi đã thực hiện một số thử nghiệm nhanh trong Chrome & IE và mã này hoạt động tốt trong cả hai. (IE đã phàn nàn về việc chạy các kịch bản trên một trang địa phương, nhưng đây sẽ là như nhau bất kể giải pháp.)

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

Dưới đây là link khác mà thảo luận về giải pháp này: https://petermolnar.eu/test-site-javascript/.

Hy vọng điều này sẽ hữu ích.

Các vấn đề liên quan