2013-07-09 6 views
3

Я видел это несколько раз раньше, наконец решил выяснить, почему.Почему сцепление тегов HTML при добавлении к DOM

Учитывая эту строку кода:

$("body").append('<ifr'+'ame src="foo.html"></ifr'+'ame>'); 

Почему они конкатенации '<ifr' + 'ame' и </ifr'+'ame>'?

+6

Из глупости? Угадайте, что это может означать, что люди могут проверять исходные тексты на теги iframe. Могут получить их вокруг некоторых проверок безопасности или сканирования вирусов, возможно, – musefan

+2

Это сделано много с iframes. https://github.com/search?q=ifr%27%2B%27ame&type=Code&ref=searchresults –

+1

Некоторые редакторы задыхаются от html в коде, разрывая его, редакторы правильно выделяют синтаксис. –

ответ

0

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

Единственная причина, по которой я могу думать (помимо просто раздражать), - это предотвратить что-то, просматривая код, и увидеть полный тег . Например, если я ищу код для «iframe», я не получу никаких совпадений.

Теперь для спекулятивной части этого ответа: почему кто-то хочет предотвратить что-то найти соответствующий тег iframe?

Вот несколько вариантов, как это предусмотрено по себе и Кевин B через комментарии:

  1. Чтобы предотвратить процесс от сканирования файла кода и обнаружения IFrame тега. Например, представьте, что у вас есть система управления контентом, которая позволяет HTML/Javascript, но не позволяет использовать iframes. Часть процесса загрузки может заключаться в анализе кода и поиске тега. Используемая здесь методика конкатенации не позволяет сканировать обнаружение iframe и, таким образом, позволяет загрузить

  2. У анализатора, такого как синтаксический маркер, могут возникнуть проблемы с использованием HTML-кода внутри JavaScript, поэтому добавление метода конкатенации, вероятно, будет позволяют анализатор успешно идентифицировать строку как строка это на самом деле значит быть

Во всех примерах, было бы справедливо сказать, этот метод может быть применим и для других тегов, которые существуют в пределах строки JavaScript, не только iframe, показанный в этом примере

Смежные вопросы