Файл HTTP загружает JavaScript

Можете ли вы попробовать это один раз.

var previousOrientation = window.orientation;
var checkOrientation = function(){
    if(window.orientation !== previousOrientation){
        previousOrientation = window.orientation;
        // orientation changed, do your magic here
    }
};

window.addEventListener("resize", checkOrientation, false);
window.addEventListener("orientationchange", checkOrientation, false);

// (optional) Android doesn't always fire orientationChange on 180 degree turns
setInterval(checkOrientation, 2000);
6
задан 16 December 2008 в 14:34
поделиться

5 ответов

Можно только загрузить файл с того же домена согласно Той же политике Источника. Можно загрузить содержание с того же домена хотя, с помощью объекта XMLHTTPRequest:

 var xhReq = createXMLHttpRequest();
 xhReq.open("GET", "page.html", true);
 xhReq.onreadystatechange = onResponse;
 xhReq.send(null);
 ...
 function onResponse() {
   if (xhReq.readyState != 4)  { return; }
   var serverResponse = xhReq.responseText;
   ...
 }

Существуют способы обойти политику, некоторые из них перечисленный на той же странице Wikipedia. Но это - взлом в лучшем случае и недопустимый в худшем случае.

6
ответ дан 17 December 2019 в 00:15
поделиться

Уверенный - URL должен быть от того же домена, если URL не имеет перекрестную доменную политику, или Вы создаете серверный сценарий прокси.

Следующий код является примером вызова ajax к любому домену через Сценарий PHP прокси:


var xmlhttp =  new XMLHttpRequest();
xmlhttp.open("POST","http://localhost/proxy.php?url=http://google.com", true);
xmlhttp.onreadystatechange = function() {
    if (request.readyState == 4 && request.status == 200) {
      // ensure we have a response...
      if (xmlhttp.responseText) {
         var html =  xmlhttp.responseText;
         // do your processing here...
      }
    }
};
xmlhttp.send();

Вы затем заставили бы свой proxy.php сценарий соединиться с данным URL через Завихрение (или независимо от того, что библиотека URL Ваш разъединяла язык стороны имеет), и затем просто повторите содержание от своего домена...


<?php

// proxy.php

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$_GET["url"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result=curl_exec ($ch);
curl_close ($ch);
echo $result;

?>


надеюсь, что все имеет смысл.

1
ответ дан 17 December 2019 в 00:15
поделиться

Можно использовать Язык запросов Yahoo для запросов любой страницы в сети.

Например, если Вы хотите полный источник домашней страницы Google, Вы могли бы использовать:

select * from html where url="http://google.com" and xpath='/html' limit 1

Необходимо было бы использовать их обратный вызов JSON и повторно сериализировать возвращенный объект, но Вы сможете получить полное представление страницы.

0
ответ дан 17 December 2019 в 00:15
поделиться

Нет. JavaScript ограничивается доменом, на котором он работает.

0
ответ дан 17 December 2019 в 00:15
поделиться

Главным образом Вам не разрешат. JavaScript предотвратит Вас делающий это из соображений безопасности. Однако можно запросить json данные из других доменов с помощью jQuery. Вот пример из документов jQuery, который получает некоторые изображения кошки от flickr...

$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
    function(data){
      $.each(data.items, function(i,item){
        $("<img/>").attr("src", item.media.m).appendTo("#images");
        if ( i == 4 ) return false;
      });
    });

Можно найти этот код в Документах jQuery. Как Вы видите, это выполняет запрос, возвращает данные и обновляет некоторые теги изображения в DOM с изображениями кошки...

0
ответ дан 17 December 2019 в 00:15
поделиться
Другие вопросы по тегам:

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