Javascript читает ранее открытую вкладку HTML в окне сохранения - PullRequest
0 голосов
/ 16 июня 2011

У меня есть задача, с которой я не знаю, с чего начать, надеюсь, переполнение стека может дать мне несколько идей.

Я хочу прочитать html исходный код ранее открытой и все еще открытой вкладки на моей веб-странице. Мой подход состоял в том, чтобы получить URL целевой страницы, отправить этот URL на сервер и сделать что-то, а затем использовать его на моей веб-странице. Но я сталкиваюсь с «той же политикой домена» на стороне сервера, я знаю, что JSONP можно использовать, но я должен использовать POST в этом случае (другие причины). Поэтому я думаю, что если вкладка (страница) была открыта и все еще открыта, должны быть некоторые способы, которыми я могу прочитать HTML, когда моя веб-страница открыта. Поток будет, если есть открытие страницы Page1, пользователь открывает mywebpage.html в том же самом окне, mywebpage.html обнаруживает, что открытие страницы Page1, затем захватывает страницу источника HTML и использует ее.

Спасибо!

Edit:

Это полная история.

Что я планирую сделать, это плагин FireFox И на панели инструментов есть кнопка (myPluginButton).

Если пользователь щелкнет myPluginButton, HTML-код текущей страницы будет отправлен на сервер, затем сервер проанализирует HTML-код и сгенерирует отчет, после чего откроется новая вкладка для отображения этого отчета.

Мой текущий подход заключается в чтении HTML-кода текущей страницы с использованием newTabBrowser.contentDocument и отправке его на сервер, а затем выполнении анализа на стороне сервера. Но такой подход создает дополнительный трафик. Эффективным способом было бы отправить только URL текущей страницы на сервер, и мы можем читать HTML и анализировать его на стороне сервера. Тем не менее, та же политика домена не позволяет мне сделать это легко.

Итак, мой вопрос: возможно ли сделать, когда пользователь щелкнет myPluginButton, чтобы открыть новую вкладку, эта новая вкладка зацикливает все открытые вкладки в браузере и читает их HTML-содержимое, а затем генерирует отчет, поскольку эти вкладки все еще открываются, и содержимое HTML должно быть сохранено где-то (или я ошибаюсь).

Спасибо.

1 Ответ

0 голосов
/ 16 июня 2011

Браузеры имеют встроенную защиту, называемую той же политикой происхождения , которая запрещает странице читать содержимое другого источника (домен, поддомен, порт, ...)

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

. Вы просите своих пользователей добавить его в панель закладок, и каждый раз, когда они хотят его использовать, они неt открыть вкладку, но нажать на закладку.

Это загрузит ваш скрипт на странице со всеми правами доступа для чтения содержимого страницы.

И, как ни странно, вы можете POST с этой страницывашего домена, разместив ФОРМУ на IFRAME, размещенную на вашем домене.Но вы не сможете прочитать ответ POST.Вы можете использовать setInterval с вызовом JSONP для вашего домена, чтобы узнать, был ли успешным POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...