Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как гугл получает объект внутри тега <script>? (https://javascript.ru/forum/events/36533-kak-gugl-poluchaet-obekt-vnutri-tega-script.html)

zilker 18.03.2013 19:50

Как гугл получает объект внутри тега <script>?
 
Устанавливал на сайт кнопку от гугла +1. Обратил внимание, что язык кнопки указывается в объекте внутри тега <script>:
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
    {"lang": "ru"}
</script>

Но ведь содержимое тега, подключающего внешний скрипт, игнорируется. Гугл парсит dom? Как получить значение, я в принципе понимаю
var lang = JSON.parse(document.querySelector('script[src="https://apis.google.com/js/plusone.js"]').innerHTML).lang;  //"ru"

Вот только зачем так делать? Здесь какой-то скрытый смысл? Тем более, что в коде кнопки передается ещё куча параметров:
<div class="g-plusone" data-href="http://site.ru" data-size="small" data-annotation="none" data-callback="callback">

Чем язык так отличился...

jsgeek 19.03.2013 11:12

Цитата:

зачем так делать
Это наверное нужно спрашивать в google :)

zilker 19.03.2013 11:55

Согласен, только они точно знают, зачем так делают.
Просто появляются же статьи типа "Зачем Google добавляет while(1); к своим JSON-ответам?"
Подумал может тут тоже есть хитровыдуманная комбинация :)

danik.js 19.03.2013 15:06

Думаю так сделано для удобства. Кстати, как в скрипте получить ссылку на текущий выполняемый тег <script> ?

zilker 19.03.2013 15:19

если инлайновый, то в document.getElementsByTagName('script') последним будет лежать как раз то, что нужно.


Часовой пояс GMT +3, время: 01:17.