我之前看到过这个问题,最终决定找出原因。
给定以下代码行:
$("body").append('<ifr'+'ame src="foo.html"></ifr'+'ame>');
他们为什么要将'<ifr' + 'ame'
和</ifr'+'ame>'
拼接起来?
(注:该段文字已经是中文,无需翻译)
我之前看到过这个问题,最终决定找出原因。
给定以下代码行:
$("body").append('<ifr'+'ame src="foo.html"></ifr'+'ame>');
他们为什么要将'<ifr' + 'ame'
和</ifr'+'ame>'
拼接起来?
根据可能存在的原因,只有作者自己才知道是否应该回答这个问题。但是无论如何,我还是来试着回答一下吧...
我能想到的唯一原因(除了仅仅是为了恶作剧)就是防止某些东西查看代码并看到完整的<iframe>
标签。例如,如果我在代码中搜索"iframe",我将不会得到任何匹配项。
现在是这个答案的推测部分:为什么有人想要防止某些东西找到匹配的iframe标签呢?
以下是由我和Kevin B通过评论提供的几个选项:
防止进程扫描代码文件并检测iframe标签。例如,想象一下你有一个允许使用HTML/Javascript但不允许使用iframes的内容管理系统。上传过程的一部分可能是分析代码并查找标签。这里使用的串联技术将防止扫描程序检测到iframe,从而允许上传
解析软件,例如语法高亮器可能在处理JavaScript内混杂HTML时出现问题,因此添加串联方法很可能允许解析器成功地将字符串识别为实际意义上的字符串
iframe
标签。