Witam,
potrzebuje pomocy w temacie:
przypadek:
Użytkownik otwiera plik .html będący zapisany lokanie na pulpicie. Jeśli ma połączenie z internetem to wyświetla mu się zawartość strony, jeśli nie ma zostać wyświetlone okno dialogowe z przyciskiem sprawdzania (screen: http://oi62.tinypic.com/28qsy29.jpg), czy nastąpiło już połączenie z Internetem (jeśli tak okno zostaje zamknięte..)
Jako, że z JS praktycznie kompletnie nic nie wiem.. zacząłem szukać potrzebnych informacji po sieci i na ten moment skleiłem coś takiego:
-- otwieram plik .html i sprawdzam, czy jest połączony do internetu (znalazłem tutaj metodę sprawdzającą google maps.. ale czuje, że to się nie sprawdza.. bo nie ma 'odświeżenia' tej akcji w przypadku kliknięcia na button, którzy ma niejako ponawiać procedure sprawdzania połączenia..)
Technicznie na razie wykorzystałem bootstrap'a i jakieś skrawki js..
Pozdrawiam,
Marek
i wrzucam wykorzystywany kod:
<a href="#" data-toggle="modal" data-target="#basicModal" data-backdrop="static" data-keyboard="false" >
<button type="button" class="btn btn-primary" id="c" onclick="myFunction()">Save changes</button>
<div class="modal fade" id="basicModal" tabindex="-1" role="dialog" aria-labelledby="basicModal" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">X</button>
<h4 class="modal-title" id="myModalLabel">..</h4>
</div>
<div class="modal-body">
<h3>czy polaczony?</h3>
<p id="demo"></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" id="c" onclick="myFunction()">Save changes</button>
</div>
</div>
</div>
</div>
<script type="text/javascript">
//sprawdza przy wejsciu na stronę czy jest połączenie.. jeśli jest to wyświetla okno (ostatecznie ma być odwrotnie ale to dla testów)
var online;
// check whether this function works (online only)
try {
var x = google.maps.MapTypeId.TERRAIN;
online = true;
} catch (e) {
online = false;
}
console.log(online);
if ( online==true )
{
$('#basicModal').modal({
backdrop: 'static',
keyboard: false
})
}
//tutaj próba ponownego sprawdzenia po kliknięciu w przycisk
function myFunction() {
document.getElementById("demo").innerHTML = "Hello World";
var online;
// check whether this function works (online only)
try {
var x = google.maps.MapTypeId.TERRAIN;
online = true;
} catch (e) {
online = false;
}
if ( online==true )
{
document.getElementById("demo").innerHTML = "tak";
}
else
{
document.getElementById("demo").innerHTML = "nie";
}
}
//inna metoda sprawdzania ale ta nieudana..
function doesConnectionExist() {
var xhr = new ( window.ActiveXObject || XMLHttpRequest )( "Microsoft.XMLHTTP" );
var file = "domain.pl/image.png";
var randomNum = Math.round(Math.random() * 10000);
var online;
xhr.open('HEAD', file + "?rand=" + randomNum, false);
try {
xhr.send();
if (xhr.status >= 200 && xhr.status < 304) {
online = true;
//return true;
} else {
online = false;
//return false;
}
} catch (e) {
online = false;
//return false;
}
if ( online==true )
{
document.getElementById("demo").innerHTML = "OK";
}
else
{
document.getElementById("demo").innerHTML = "connection error";
}
}
</script>