0
我正在研究的東西,將檢測是否有連接到互聯網。這可以通過ping圖像文件來查看它是否存在。雖然代碼作爲一個整體起作用,但我希望它不會回發,如果它是脫機的(因爲它是一個將在線託管的頁面 - 所以如果它在脫機時回發,那麼它會重新加載頁面並執行「找不到頁面」 ),但仍顯示「脫機」消息:Javascript - 使用一個按鈕來確定是否在線
<asp:Button ID="Button1" runat="server" OnClientClick="ifServerOnline()" Text="Button" />
<script type="text/javascript">
function ifServerOnline(ifOnline, ifOffline)
{
var img = document.body.appendChild(document.createElement("img"));
img.onload = function()
{
ifOnline && ifOnline.constructor == Function && ifOnline();
};
img.onerror = function()
{
ifOffline && ifOffline.constructor == Function && ifOffline();
};
img.src = "http://www.mypage.com/pixel.jpg?" + Date.now;
}
ifServerOnline(function()
{
alert("Online");
},
function()
{
alert("Offline");
});
</script>
顯然mypage.com不存在(除非它,但它不是我的)。
編輯 - 最終代碼:
<asp:Button ID="Button1" runat="server" OnClientClick="return ifServerOnline(ifServerOnline1, ifServerOffline1);" Text="Button" />
<script type="text/javascript">
function ifServerOnline(ifOnline, ifOffline)
{
var img = document.body.appendChild(document.createElement("img"));
img.onload = function()
{
ifOnline && ifOnline.constructor == Function && ifOnline();
};
img.onerror = function()
{
ifOffline && ifOffline.constructor == Function && ifOffline();
};
img.src = "http://www.mypage.com/pixel.jpg?" + Date.now;
return false;
}
function ifServerOnline1()
{
alert("Online");
return false;
}
function ifServerOffline1()
{
alert("Offline");
return false;
}
</script>
仍然張貼回來,如果我把它添加到ifServerOnline(ifOnline,ifOffline),即結束 - 在img.src網址後/ – user25730
@ user25730,您是否也編輯了「OnClientClick」值?另外請注意,如果你有其他訂閱這個按鈕的點擊,這可能不起作用 – Andrei
我想''asp:Button ID =「Button1」runat =「server」OnClientClick =「return ifServerOnline()」Text =「Button」/ >'。 –