Показать сообщение отдельно
  #3 (permalink)  
Старый 13.08.2014, 00:17
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Как уже упомянул animhotep, все зависит от сервера с которого нужно взять контент. Но все же есть один способ конечно, не айс, но для простых задач может и подойти “Screen Scraping” с помощью YQL:
function requestCROSContent(url, callback) {
  var script = document.createElement('script');
  script.type = 'text/javascript';
  if ("onload" in script || !("readyState" in script)) {
    script.onload = function() {
      script.onload = script.onreadystatechange = script.onerror = null;
      script.parentNode.removeChild(script);
      script = null;
    }
  } else {
    script.onreadystatechange = function() {
      if (this.readyState == "loaded" || this.readyState == "complete") {
        script.onload = script.onreadystatechange = script.onerror = null;
        script.parentNode.removeChild(script);
        script = null;
      }
    }
  }

  requestCROSContent.__uidTick = requestCROSContent.__uidTick >>> 0;
  var uid = (new Date()).getTime() + ++requestCROSContent.__uidTick;
  window["jsonpCallbackName" + uid] = function(data) {
    delete window["jsonpCallbackName" + uid];
    callback(data && data.results ? data.results[0] : '');
  }

  script.src = 'http' + (/^https/.test(location.protocol) ? 's' : '') +
      '://query.yahooapis.com/v1/public/yql?callback=jsonpCallbackName' + uid +
      '&q=select * from html where url="' + url + '" and xpath="*"';

  document.getElementsByTagName('head')[0].appendChild(script);
}

// запрашиваем страницу
requestCROSContent('ya.ru', function(content) {
  alert(content);
});
Правда этот вариант еще требует доработки, отслеживание ошибок, оптимизации и т.д. Но написанное на коленях думаю даст понять куда копать. Удачи!
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием