Можете ли вы попробовать это один раз.
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);
Можно только загрузить файл с того же домена согласно Той же политике Источника. Можно загрузить содержание с того же домена хотя, с помощью объекта 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. Но это - взлом в лучшем случае и недопустимый в худшем случае.
Уверенный - 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;
?>
надеюсь, что все имеет смысл.
Можно использовать Язык запросов Yahoo для запросов любой страницы в сети.
Например, если Вы хотите полный источник домашней страницы Google, Вы могли бы использовать:
select * from html where url="http://google.com" and xpath='/html' limit 1
Необходимо было бы использовать их обратный вызов JSON и повторно сериализировать возвращенный объект, но Вы сможете получить полное представление страницы.
Нет. JavaScript ограничивается доменом, на котором он работает.
Главным образом Вам не разрешат. 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 с изображениями кошки...