Проблема реального мира:
У меня есть приложение, размещенное на Heroku , который (насколько мне известно) не может предложить решение для запуска безголового (без графического интерфейса) браузера - такого как HTMLUnit - для генерации снимков HTML для робота Googlebot для индексации моего содержимого AJAX.
Мое предлагаемое решение:
Если вы еще этого не сделали, я предлагаю прочитать полную спецификацию Google по созданию приложений AJAX, которые можно сканировать . subtab = SubTab3 (параметр URL должен иметь код URLEncoded)
Моему приложению У меня нет опыта работы с Google App Engine, Java или HTMLUnit. Возможно, я смогу это выяснить ... и опубликую свои результаты, если я это сделаю. В противном случае я чувствую, что это ОЧЕНЬ хорошая возможность для кого-то написать офигенное сообщение в блоге, в котором излагается пошаговое руководство для новичков по настройке подобного веб-сервиса. Это познакомит больше людей с отличными (и бесплатными! ) Google App Engine. Кроме того, это, несомненно, будет способствовать тому, что все больше людей примут спецификации Google для контента AJAX для сканирования ... что-то, от чего мы все сможем извлечь выгоду! По мере того, как спецификации Google получат все большее признание, будет отправлено «препятствие» настройки браузера без головы многие разработчики ищут ответы! Получить сейчас с ответом на славу и славу! (отредактируйте: по крайней мере я буду петь ваши похвалы). Напишите мне в твиттере http: //example.com#! tab = TabA & subtab = SubTab3
и запустить клиентский JavaScript на сервере. . http://example.com
понадобится управлять вызовом на http://htmlsnapshot.appspot.com
... в основном: http: // пример. com /? _ escaped_fragment_ = tab = TabA% 26subtab = SubTab3
(сканер googlebot экранирует определенные символы, например,% 26 = &). http://htmlsnapshot.appspot.com? url = http: //example.com#! tab = TabA & subtab = SubTab3
(параметр url должен иметь код URLEncoded) @_ chrisjacob
, если вы хотите обсудить решения.
Я успешно использовал HTMLunit в AppEngine. Мой GWT-код для этого доступен в проекте gwt-platform . Полученные мной результаты были аналогичны результатам тестового приложения HTMLunit-AppEngine Амита Манджи.
Должно быть относительно легко использовать текущую поддержку HTMLunit GWTP, чтобы делать именно то, что вы описываете, хотя вы, вероятно, могли бы сделать это в более простом приложении. Одна проблема, которую я вижу, заключается в том, что запросы AppEngine имеют 30-секундный тайм-аут, поэтому у вас не может быть страницы, для обработки которой HTMLunit требуется больше времени.
ОБНОВЛЕНИЕ : Прошло некоторое время, но я, наконец, решил давнюю проблему, касающуюся возможности сканирования приложений GWT с помощью GWTP. Документации нет полностью, но проверьте проблему: http://code.google.com/p/gwt-platform/issues/detail?id=1