imran_stxa
@imran_stxa
web-программист

Загрузка страницы?

Задача такая:
локальный html файл проверяет, есть ли доступ к интернету. Если нет, то выводит соответствующее сообщение, если доступ есть - то загружает определенную страницу.
Я реализовал это так:
<script>
$( "html" ).load("http://site.com/index.php", function( response, status, xhr ) {
  if ( status == "error" ) {
    var msg = "Возникла ощибка ";
    $( "#error" ).html( msg + xhr.status + " " + xhr.statusText );
  }
});
</script>


В таком случае возникает проблема: на загружаемом сайте, если написано так
<script src="js/setTime.js"></script>
        <script type="text/javascript" src="praytimes.js"></script>
        <link rel="stylesheet" href="css/style.css" media="screen">

то эти файлы 'ищутся' на компьютере.

Какую альтернативу вы можете предложить?
  • Вопрос задан
  • 2867 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Загружаемый с сайта файл может выполнять переход на сам сайт меняя document.location.href
Ответ написан
dzedzinskiy
@dzedzinskiy
Full stack developer
То что в голову первое пришло - загружать простую страницу без скриптов или какой то json object или маленькую иконку.

var url = 'http://requested-site.com/';
var testElement = 'ping-ico.jpg';
TryToReconnect(url, testElement);
function TryToReconnect(url, testElement){
       $.ajax({
          url: url+testElement,
          success: function(result){
             window.location.href = url;
          },     
          error: function(result){
              alert('timeout/error');
          }
       });
    }

Если нужно внедрять загружаемую страницу в локальную страницу клиента - используйте iframe, или кроссдоменный ajax
вот собственно про кроссдоменный ajax habrahabr.ru/post/114432
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
imran_stxa
@imran_stxa Автор вопроса
web-программист
я реализовал так
<script>
$("#content").html('<img src="load.gif" /> подключение'); 
$.ajax({
	url:'http://site.ru/new/test1.php',
	type:'HEAD',
	error:
		function(){
				$("#content").html('файла нет'); 
				},
	success:
		function(){
				$("#content").html('файл есть'); 
				}
	});
</script>
Ответ написан
Комментировать
@mayorovp
Можно после успешной загрузки добавить тэг base в заголовок.
Ответ написан
Комментировать
Прочитал вопрос и долго плакал...

Используйте Application Cache
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы