Как я мог предоставить URL, используя API FireShot, чтобы сделать снимок экрана, загрузить его в Imgur и вернуть некоторые результаты (например, markdown) - PullRequest
1 голос
/ 26 марта 2011

Я ищу способ использования FireShot API с JS, чтобы дать URL (или, возможно, список), использовать FireShot API, чтобы сделать скриншот, загрузить в Imgur, а затем вернуть пользователю URL-адреса или, возможно, что-то вроде уценки для быстрого использования на форумах.

Способ 1: открыть новое окно

Я попытался открыть URL-адрес в новом окне, но обнаружил, что не могу управлять этой страницей с помощью JS из-за проблем с доменами. То же самое с iFrames.

Метод 2: простой $.get()

Простой $.get() не будет работать из-за одних и тех же междоменных проблем, я думаю?

http://jsfiddle.net/t6aeq/

$.get($url.val(), function(data) {
        console.log(data);
});

Через PHP "Прокси"

Поэтому я попытался создать простой PHP-скрипт, который получает HTML-код URL и возвращает его в мой JS (используя file_get_contents($url)). Но некоторые сайты, такие как Microsoft, обнаружат, что я использую некоторые автоматизированные методы, и выдадут страницу с сообщениями об ошибках. Я также не могу найти способ использовать jQuery для запроса, который возвратил HTML для link[rel=stylesheet], script, style и body для добавления к head и div соответственно. Я опубликовал около 1029 * другой вопрос 1031 *

Новая идея: вставлять скрипты на уровне браузера

Так что я решил обойти это, используя iMacros или GreeseMonkey или что-то еще, чтобы вместо этого вставлять скрипты в страницы на уровне браузера? Но какие-либо рекомендации или советы о том, как я могу это сделать? Кроме того, я бы предпочел чистый метод JS / PHP, если он доступен, чтобы пользователи не ограничивались использованием плагинов / скриптов для браузера (пока я буду единственным пользователем)

Мне вдруг пришло в голову, что это может не сработать, потому что ключ API FireShot и Imgur ограничены доменом? Любые решения?

1 Ответ

0 голосов
/ 27 марта 2011

Возможно, вы сможете внедрить скрипт FireShot, используя Greasemonkey. Но сначала используйте GM_xmlhttpRequest() для извлечения ключа API для домена этой страницы со страницы «Создать ключ FireShot API» .

Обратите внимание, что GM_xmlhttpRequest() не имеет таких междоменных проблем, как $.get().

Однако в этот момент вам, возможно, будет лучше написать собственное дополнение к Firefox. Может быть, начать с FireShot код для идей. Также см. дополнение Screengrab .

...