|
Тэг <script> - src и код одновременно?
Смотрю на генератор кнопки + от Google:
http://www.google.com/webmasters/+1/button/ Если выбрать какой-нибудь язык отличный от английского, то гугл генерит следующий текст: <script type="text/javascript" src="https://apis.google.com/js/plusone.js"> {lang: 'ru'} </script> Что это значит, ведь по канонам это бессмысленно? |
ну валидацию, да, не пройдет.
но с другой стороны удобно. браузер просто проигнорирует внутреннюю вставку, в то время как скрипт plusone.js может получить нужные параметры {lang: 'ru', ...} и использовать их для своих нужд. |
Цитата:
|
Цитата:
|
Цитата:
|
e1f, ваый,
Очевидно, но это же полнейшая тупость, когда есть масса нормальных способов (назначить идентификатор, атрибут и пр.). Не понимаю, для чего такие сложности ? ;) |
Ну это нужно у инженеров гугл спрашивать. А мне кажется, что это довольно удобный способ для задания конфигурационных параметров. А что, получить строку с параметрами {lang: 'ru'} проще простого, преобразовать в объект, еще проще. Это лучше, чем передавать параметры в атрибуте src.
monolithed, а как тебе кажется лучше было бы? |
как получить этот innerHTML из скрипта ?прошу пример ,ваый !
мне кажется, что так. var a = document.getElementsByTagName('script'), b = a.length, options = {}; while( b-- ) if ( ~a[i].src.indexOf("plusone.js") ) options = JSON.parse ( a[i].innerHTML ); alert( options.lang ); // ru ? |
melky, можно изящнее.
Полагаю как-то так должно прокатить: var scripts = document.getElementsByTagName('script'); var thisScript = scripts[scripts.length - 1]; var params = eval('(' + thisScript.innerHTML + ')');Этот код располагается внутри самого скрипта, который загрузился. Здесь учитывается, что этот самый скрипт на момент загрузки будет самым последним из всех скриптов. |
ваый,
можете не согласиться, однако: 1. наличие кода внутри дескрипторов script с атрибутом src 2. такой способ получения и обработки данных 3. предположение, что этот дескриптор будет последним в документе. признак быдлокодерства. Цитата:
//заполнено образно google.load("plusone", {lang : 'ru'}); gapi.plusone.render("plusone", {lang : 'ru'}); 2. есть вариант с пространствами имен: <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <g:plusone></g:plusone> |
Часовой пояс GMT +3, время: 17:38. |
|