Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 28.07.2011, 21:50
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

http://ejohn.org/blog/degrading-script-tags/
Ответить с цитированием
  #22 (permalink)  
Старый 28.07.2011, 21:55
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

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

Нет?
Ответить с цитированием
  #23 (permalink)  
Старый 29.07.2011, 17:24
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 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 вообще для чего придумали?
Ответить с цитированием
  #24 (permalink)  
Старый 29.07.2011, 17:48
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

Сообщение от x-yuri Посмотреть сообщение
кстати, передачу через onclick вообще для чего придумали?
Всмысле?
Ответить с цитированием
  #25 (permalink)  
Старый 29.07.2011, 18:01
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Сообщение от Snipe
Сообщение от x-yuri
кстати, передачу через onclick вообще для чего придумали?
Всмысле?
Я так понимаю, что тут пытались выдумать что угодно, но только не использовать innerHTML.
Я же для себя лично отметил, что использование innerHTML для передачи внешних параметров в загружаемый скрипт - достаточно прикольный и удобный способ.
Я уже выше писал, что альтернативой могут быть параметры в URL в src, но по сравнению с innerHTML этот способ sucks. Про атрибуты типа onclick вообще молчу.
Ответить с цитированием
  #26 (permalink)  
Старый 29.07.2011, 20:22
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 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.
Ответить с цитированием
  #27 (permalink)  
Старый 29.07.2011, 21:17
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Мне кажется, что мы говорим о разных вещах. Как мне может помочь textarea в данном случае?
Сообщение от x-yuri
innerHTML не обязательно один в один совпадает с содержимым элемента
Это да, но думаю, что для передачи параметров как JSON строки, это можно предусмотреть.

Последний раз редактировалось ваый, 29.07.2011 в 21:19.
Ответить с цитированием
  #28 (permalink)  
Старый 29.07.2011, 21:20
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

x-yuri,
Сообщение от x-yuri
1. наличие кода внутри дескрипторов script с атрибутом src
когда-то читал, что код может отработать некорректно (вроде бы в книге Д. Гудмана, но точно не помню). Не знаю на сколько эта информация устарела, но для меня это стало табу, да и не было никогда необходимости.
Сообщение от x-yuri
такой способ получения и обработки данных
я привел выше несколько альтернативных решений. К тому же, годами все ставят Google Analytics-счетчики, где вполне приемлимый подход обработки данных. Меня в этом вопросе возмущает, то почему они не выбрали один из уже существующих подходов (не считая решения с пространствами имен). В любом случае распарсивать так код, на мой взгляд, полное извращенство.
Сообщение от x-yuri
предположение, что этот дескриптор будет последним в документе.
Нет возможности проверить это утверждение, ну тут я просто сомневаюсь, что это везде корректно отработает.

Скажем, так я высказал личное мнение, не более
Ответить с цитированием
  #29 (permalink)  
Старый 29.07.2011, 21:31
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от Snipe
Не проверял во всех браузерах, но:
Выглядит сомнительно. Эвент-хандлеры, в общем-то, не рассчитаны на возвращение значений.
Ответить с цитированием
  #30 (permalink)  
Старый 29.07.2011, 21:42
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск