Как создать упакованное приложение в Firefox OS, способное получать данные с внешней веб-страницы

Я пытаюсь создать упакованное приложение для Firefox OS, которое позволит пользователю искать определенный контент (в данном случае изображения) с разных веб-страниц и просто просматривать их, не заходя на каждую веб-страницу.

Мой вопрос: как я могу получить доступ (и получить данные) с внешней веб-страницы (например, www.google.com) с помощью упакованного приложения (без PHP, только с Javascript, HTML и CSS)?

PS: я хочу просто получить текст, который предоставляет веб-страница. Например, если веб-страницы предоставляют только объект div и img с простой ссылкой, мне просто нужна эта ссылка и ничего больше.


person aliasbody    schedule 16.09.2014    source источник
comment
Итак, вы хотите загрузить страницу с помощью js, а затем проанализировать ее, чтобы получить ссылку на изображение?   -  person patrickdamery    schedule 17.09.2014
comment
Нет. Я хочу получить ссылку, которая находится внутри внешней веб-страницы, и показать это изображение (или просто ссылку) в моем собственном приложении (html).   -  person aliasbody    schedule 17.09.2014
comment
Вы можете просто использовать xhr . Посмотрите на приложение Boilerplate: github.com/robnyman/Firefox-OS-Boilerplate-App, в частности github .com/robnyman/Firefox-OS-Boilerplate-App/blob/gh-pages/js/ вам нужно будет сделать приложение привилегированным и добавить разрешение systemxhr в манифест   -  person Jason Weathersby    schedule 17.09.2014
comment
У вас есть контроль над этими внешними веб-сайтами? если нет, единственный способ получить ссылку, о которой я знаю, - это фактически загрузить страницу в js (без отображения пользователю), а затем проанализировать ее, чтобы получить ссылку на изображение, которое вы ищете.   -  person patrickdamery    schedule 17.09.2014
comment
У меня нет контроля над этими внешними веб-сайтами, я просто хотел получить доступ к HTML и получить img внутри него. Когда вы говорите загружать страницу в js, что вы имеете в виду? В противном случае xhr из Firefox кажется лучшим способом, поскольку он позволяет использовать междоменный доступ в Firefox OS.   -  person aliasbody    schedule 18.09.2014
comment
@JasonWeathersby: я думаю, было бы полезно, если бы вы предоставили это в качестве ответа.   -  person unor    schedule 18.09.2014


Ответы (2)


Получите разрешение systemxhr и выполните обычный HTTP-запрос через XMLHttpRequest:

var x = new XMLHttpRequest({ mozSystem: true });
x.onload = function() {
  if (x.status === 200) {
    // HTML is now in x.responseText
  }
};
x.open('GET', 'http://www.somerandomwebsite.com');
x.send();

Затем обработайте HTML по мере необходимости.

person Jan Jongboom    schedule 24.09.2014
comment
Спасибо за это решение! Я проверю это сегодня, и если это сработает, как ожидалось, я выберу это как ответ решения. - person aliasbody; 26.09.2014

Вы должны проверить проект Cordova, который с версии 3.5 обеспечивает поддержку Firefox OS. Дополнительная информация: https://hacks.mozilla.org/2014/02/building-cordova-apps-for-firefox-os/ и http://cordova.apache.org/

person maxxx    schedule 16.09.2014
comment
Есть ли способ сделать это только с помощью JavaScript или собственного API Firefox OS? - person aliasbody; 17.09.2014