2013-07-09 25 views
3

我以前看過這幾次,最後決定找出原因。爲什麼連接HTML標籤時追加到DOM

鑑於這行代碼:

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

他們爲什麼串聯'<ifr' + 'ame'</ifr'+'ame>'

+6

出於愚蠢?猜猜它可能會讓人們能夠掃描iframe標籤的源代碼。可能讓他們圍繞一些安全檢查或病毒掃描,或許 – musefan

+2

它與iframe做了很多。 https://github.com/search?q=ifr%27%2B%27ame&type=Code&ref=searchresults –

+1

有些編輯器在代碼中扼住了html,打破了編輯器正確的語法突出顯示。 –

回答

0

不確定是否應該回答這個問題,基於事實可能有很多原因,只有作者會知道。但是,無論如何...

我能想到的唯一原因(除了只是爲了討厭)將防止某些東西查看代碼並看到完整的標記。例如,如果我搜索「iframe」的代碼,我不會得到任何匹配。

現在對於這個答案的推測部分:爲什麼有人想要防止某件事找到匹配的iframe標籤?

這裏有幾個選項,如通過評價由我自己和Kevin B中提供:

  1. 爲了防止處理從掃描代碼文件和檢測的iframe標籤。例如,假設您的內容管理系統允許使用HTML/Javascript,但不允許使用iframe。部分上傳過程可能是分析代碼並尋找標籤。這裏使用的連接技術會阻止掃描檢測iframe,從而允許上傳解析軟件(例如語法高亮器)可能在JavaScript中混合使用html時出現問題,因此可能會添加拼接方法使解析器能夠成功地識別爲字符串,它實際上意味着是

在所有示例中的字符串,這將是公平地說,這種技術也可以適用於存在的JavaScript字符串內的其他標記,不只是在此示例中顯示的iframe一個