Я пытаюсь сделать автономное приложение HTML5, которое представляет форму, содержащую изображение и текстовый ввод для адреса электронной почты, когда доступно интернет-соединение
Вот что я пробовал:
<body>
<script type='text/javascript'>
window.onload = function () {
function submit() {
setInterval(function () {
if (navigator.onLine) {
//if internet is avaiable do:
document.getElementById("upload").submit();
}else {
//if no internet
var theDiv = document.getElementById("message");
var content = document.createTextNode("No internet");
theDiv.appendChild(content);
}
}, 1000);
}
}
</script>
<form action="post.php" method="post" enctype="multipart/form-data" id="upload">
<input type="file" name="uploaded" accept="image/*" capture><br>
<p>Skriv inn din epost: <input type="text" name="email"></p>
<input type="submit" value="Send ditt bilde!" name="sendimg" onclick="this.value='Submitting ..';this.disabled='disabled'; submit();">
<div class="message"></div>
Есть ли у кого-нибудь предложения? Благодаря :)
Вместо постоянной проверки подключения к Интернету вы можете использовать онлайн-и оффлайн-события. Для справки см. Этот https://developer.mozilla.org/en/docs/Online_and_offline_events. Если пользователь находится в автономном режиме, сохраните данные в локальном хранилище и затем повторно отправьте данные после повторного обнаружения онлайн-события.
Извините, но я не могу ответить. Будет ли это работать?
<script type='text/javascript'>
window.onload = function () {
function submit() {
setInterval(function () {
if (window.navigator.onLine == "true") {
//if internet is avaiable do:
document.getElementById("upload").submit();
}else {
//if no internet
var theDiv = document.getElementById("message");
var content = document.createTextNode("No internet");
theDiv.appendChild(content);
}
}, 1000);
}
}
</script>
Тебе два способа проверить это
Для этого решения требуется jQuery
$.ajaxSetup({
timeout: 1, // Microseconds, for the laughs. Guaranteed timeout.
error: function(request, status, maybe_an_exception_object) {
if(status == 'timeout')
alert("Internet connection is down!");
}
});
А также
window.navigator.onLine -- it will be false if the user is offline.
Вы должны использовать выше в своем коде с некоторой настройкой в соответствии с требованиями.
onclick
?