Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Тэг <script> - src и код одновременно? (https://javascript.ru/forum/misc/19194-tehg-script-src-i-kod-odnovremenno.html)

Octane 28.07.2011 21:50

http://ejohn.org/blog/degrading-script-tags/

Snipe 28.07.2011 21:55

А еще можно взять тег, внутрь которого написали что-то, отрезать ему src и вставить его еще раз. Тогда JS внутри выполнится.

Нет? :)

x-yuri 29.07.2011 17:24

Цитата:

Сообщение от monolithed
1. наличие кода внутри дескрипторов script с атрибутом src
2. такой способ получения и обработки данных
3. предположение, что этот дескриптор будет последним в документе.

признак быдлокодерства.

твое утверждение похоже на признак пуризма или стереотипного мышления. Но может быть у тебя есть аргументы за какой-либо из этих трех пунктов, если ты еще не изменил свое мнение?

Цитата:

Сообщение от Snipe
Не проверял во всех браузерах, но:
<script type="text/javascript" src="domain.com/script.js" onclick="return {a: 'a'}"></script>
<script type="text/javascript">
var b = document.getElementsByTagName('script')[0].onclick();
alert(b.a);
</script>
Плюс очевиден - никакого eval.

а чем так плох eval в данном случае?

кстати, передачу через onclick вообще для чего придумали?

Snipe 29.07.2011 17:48

Цитата:

Сообщение от x-yuri (Сообщение 116130)
кстати, передачу через onclick вообще для чего придумали?

Всмысле?

ваый 29.07.2011 18:01

Цитата:

Сообщение от Snipe
Сообщение от x-yuri
кстати, передачу через onclick вообще для чего придумали?
Всмысле?

Я так понимаю, что тут пытались выдумать что угодно, но только не использовать innerHTML.
Я же для себя лично отметил, что использование innerHTML для передачи внешних параметров в загружаемый скрипт - достаточно прикольный и удобный способ.
Я уже выше писал, что альтернативой могут быть параметры в URL в src, но по сравнению с innerHTML этот способ sucks. Про атрибуты типа onclick вообще молчу.

x-yuri 29.07.2011 20:22

Цитата:

Сообщение от Snipe
Всмысле?

это был вопрос про передачу информации через onclick вообще. Например, по сравнению с передачей через кастомные атрибуты, onclick валиден (правда для меня это на данный момент не важно). Но с появлением data-* это стало не актуально. Или может быть еще какие-то причины есть...

Цитата:

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

значительной разницы между передачей через innerHTML и src нету, пока информации мало. Использование onclick ни чем не хуже innerHTML. А если учесть, что innerHTML не обязательно один в один совпадает с содержимым элемента, этот вариант может потребовать доработки, либо может перестать работать при некоторых входных данных. Так что подумай, может стоит заворачивать содержимое в textarea, а то мало ли чего... ;)

ваый 29.07.2011 21:17

Мне кажется, что мы говорим о разных вещах. Как мне может помочь textarea в данном случае?
Цитата:

Сообщение от x-yuri
innerHTML не обязательно один в один совпадает с содержимым элемента

Это да, но думаю, что для передачи параметров как JSON строки, это можно предусмотреть.

monolithed 29.07.2011 21:20

x-yuri,
Цитата:

Сообщение от x-yuri
1. наличие кода внутри дескрипторов script с атрибутом src

когда-то читал, что код может отработать некорректно (вроде бы в книге Д. Гудмана, но точно не помню). Не знаю на сколько эта информация устарела, но для меня это стало табу, да и не было никогда необходимости.
Цитата:

Сообщение от x-yuri
такой способ получения и обработки данных

я привел выше несколько альтернативных решений. К тому же, годами все ставят Google Analytics-счетчики, где вполне приемлимый подход обработки данных. Меня в этом вопросе возмущает, то почему они не выбрали один из уже существующих подходов (не считая решения с пространствами имен). В любом случае распарсивать так код, на мой взгляд, полное извращенство.
Цитата:

Сообщение от x-yuri
предположение, что этот дескриптор будет последним в документе.

Нет возможности проверить это утверждение, ну тут я просто сомневаюсь, что это везде корректно отработает.

Скажем, так я высказал личное мнение, не более

B@rmaley.e><e 29.07.2011 21:31

Цитата:

Сообщение от Snipe
Не проверял во всех браузерах, но:

Выглядит сомнительно. Эвент-хандлеры, в общем-то, не рассчитаны на возвращение значений.

ваый 29.07.2011 21:42

Цитата:

Сообщение от monolithed
Сообщение от x-yuri
предположение, что этот дескриптор будет последним в документе.
Нет возможности проверить это утверждение, ну тут я просто сомневаюсь, что это везде корректно отработает.

А тут и проверять нечего. 100% кросбраузерно. Он не может быть не последним.


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