28.07.2011, 21:50
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
|
|
28.07.2011, 21:55
|
|
Профессор
|
|
Регистрация: 06.05.2008
Сообщений: 765
|
|
А еще можно взять тег, внутрь которого написали что-то, отрезать ему src и вставить его еще раз. Тогда JS внутри выполнится.
Нет?
|
|
29.07.2011, 17:24
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от 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 вообще для чего придумали?
|
|
29.07.2011, 17:48
|
|
Профессор
|
|
Регистрация: 06.05.2008
Сообщений: 765
|
|
Сообщение от x-yuri
|
кстати, передачу через onclick вообще для чего придумали?
|
Всмысле?
|
|
29.07.2011, 18:01
|
Профессор
|
|
Регистрация: 29.06.2011
Сообщений: 445
|
|
Сообщение от Snipe
|
Сообщение от x-yuri
кстати, передачу через onclick вообще для чего придумали?
Всмысле?
|
Я так понимаю, что тут пытались выдумать что угодно, но только не использовать innerHTML.
Я же для себя лично отметил, что использование innerHTML для передачи внешних параметров в загружаемый скрипт - достаточно прикольный и удобный способ.
Я уже выше писал, что альтернативой могут быть параметры в URL в src, но по сравнению с innerHTML этот способ sucks. Про атрибуты типа onclick вообще молчу.
|
|
29.07.2011, 20:22
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от Snipe
|
Всмысле?
|
это был вопрос про передачу информации через onclick вообще. Например, по сравнению с передачей через кастомные атрибуты, onclick валиден (правда для меня это на данный момент не важно). Но с появлением data-* это стало не актуально. Или может быть еще какие-то причины есть...
Сообщение от ваый
|
Я же для себя лично отметил, что использование innerHTML для передачи внешних параметров в загружаемый скрипт - достаточно прикольный и удобный способ.
Я уже выше писал, что альтернативой могут быть параметры в URL в src, но по сравнению с innerHTML этот способ sucks. Про атрибуты типа onclick вообще молчу.
|
значительной разницы между передачей через innerHTML и src нету, пока информации мало. Использование onclick ни чем не хуже innerHTML. А если учесть, что innerHTML не обязательно один в один совпадает с содержимым элемента, этот вариант может потребовать доработки, либо может перестать работать при некоторых входных данных. Так что подумай, может стоит заворачивать содержимое в textarea, а то мало ли чего...
Последний раз редактировалось x-yuri, 29.07.2011 в 20:32.
|
|
29.07.2011, 21:17
|
Профессор
|
|
Регистрация: 29.06.2011
Сообщений: 445
|
|
Мне кажется, что мы говорим о разных вещах. Как мне может помочь textarea в данном случае?
Сообщение от x-yuri
|
innerHTML не обязательно один в один совпадает с содержимым элемента
|
Это да, но думаю, что для передачи параметров как JSON строки, это можно предусмотреть.
Последний раз редактировалось ваый, 29.07.2011 в 21:19.
|
|
29.07.2011, 21:20
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
x-yuri,
Сообщение от x-yuri
|
1. наличие кода внутри дескрипторов script с атрибутом src
|
когда-то читал, что код может отработать некорректно (вроде бы в книге Д. Гудмана, но точно не помню). Не знаю на сколько эта информация устарела, но для меня это стало табу, да и не было никогда необходимости.
Сообщение от x-yuri
|
такой способ получения и обработки данных
|
я привел выше несколько альтернативных решений. К тому же, годами все ставят Google Analytics-счетчики, где вполне приемлимый подход обработки данных. Меня в этом вопросе возмущает, то почему они не выбрали один из уже существующих подходов (не считая решения с пространствами имен). В любом случае распарсивать так код, на мой взгляд, полное извращенство.
Сообщение от x-yuri
|
предположение, что этот дескриптор будет последним в документе.
|
Нет возможности проверить это утверждение, ну тут я просто сомневаюсь, что это везде корректно отработает.
Скажем, так я высказал личное мнение, не более
|
|
29.07.2011, 21:31
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Сообщение от Snipe
|
Не проверял во всех браузерах, но:
|
Выглядит сомнительно. Эвент-хандлеры, в общем-то, не рассчитаны на возвращение значений.
|
|
29.07.2011, 21:42
|
Профессор
|
|
Регистрация: 29.06.2011
Сообщений: 445
|
|
Сообщение от monolithed
|
Сообщение от x-yuri
предположение, что этот дескриптор будет последним в документе.
Нет возможности проверить это утверждение, ну тут я просто сомневаюсь, что это везде корректно отработает.
|
А тут и проверять нечего. 100% кросбраузерно. Он не может быть не последним.
|
|
|
|