Как работает часть экрана системы обратной связи Google+? - PullRequest
12 голосов
/ 30 июня 2011

У меня нет приглашения, но оно использовалось на TWIG.Это работает следующим образом:

Вы можете выбрать части, которые нужно выделить, части, чтобы затемнить.На следующем шаге создается скриншот этого файла (??), и вы можете просмотреть, какая другая информация браузера передается.

Так как же Google создает этот скриншот?отправляет ли он полностью модифицированный DOM для обработки на стороне сервера?или какая еще черная магия здесь задействована?

Ответы [ 3 ]

11 голосов
/ 20 июля 2011

Светлые и черные области - это просто HTML divs. Скриншот страницы - это холст.

Я использовал инструменты разработчика Chrome, чтобы подтвердить это.Он даже работает в Firefox и Internet Explorer, так что это определенно не просто Chrome.

Вот скриншот инструментов разработчика с выделенным одним из выделенных элементов, показывающий, что это div:

Google Chrome Developer Tools - Feedback Tool

Существует один холст:

Canvas

Когда в диалоговом окне говорится следующее:

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

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

После нажатия кнопки «Далее» открывается другое диалоговое окно со всемиинформацию и делает окончательный снимок экрана с вашими бликами и затемнениями.

Final dialog

Я не уверен, как они делали часть "Выделенный текст".

1 голос
/ 03 июля 2011

Он может просто отправить все дерево DOM на сервер и получить его на другом конце.

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

не знаю функцию, но как вы ее описываете; это не кроссплатформенная особенность и не в спецификации. Вы ищете drawWindow элемента canvas. Затем они base64 / urlencode и отправляют его на сервер. Можете себе представить, что они поддерживают серверную чёрную магию для поддержки IE6 ... или они делают Google + браузер html5 единственной вещью ..

...