3

我之前已经看过几次了,最后决定找出原因。

鉴于这行代码:

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

为什么它们连接'<ifr' + 'ame'</ifr'+'ame>'

4

1 回答 1

0

有点不确定我是否应该回答这个问题,基于事实可能有很多原因,只有作者会知道。但不管怎样……

我能想到的唯一原因(除了烦人之外)是防止某些东西查看代码并查看完整的<iframe>标签。例如,如果我在代码中搜索“iframe”,我将找不到任何匹配项。

现在对于这个答案的推测部分:为什么有人想要阻止某些东西找到匹配的 iframe 标记?

以下是我和 Kevin B 通过评论提供的几个选项:

  1. 防止进程扫描代码文件并检测 iframe 标签。例如,假设您有一个允许 HTML/Javascript 但不允许使用 iframe 的内容管理系统。上传过程的一部分可能是分析代码并查找标签。此处使用的连接技术将阻止该扫描检测 iframe,从而允许上传

  2. 解析软件(例如语法高亮器)可能无法处理混合在 JavaScript 中的 html,因此添加连接方法可能会允许解析器成功地将字符串识别为它实际想要的字符串

在所有示例中,公平地说,这种技术也可能适用于 JavaScript 字符串中存在的其他标签,而不仅仅是iframe本示例中显示的标签

于 2013-07-09T15:55:33.353 回答