我正在寻找可以加载外部资源的元素列表,因为没有通过JavaScript进行额外的DOM操作是允许的。我正在尝试用HTML查看器托管来自第三方的电子邮件,当发生这种情况时,我需要删除任何自动加载的资源,以便即使使内容显示不正确,也只显示基本HTML。
目前列表如下:
<img />
<embed />
<object />
<link />
<script />
<audio />
<video />
<style type="text/css">selector { property: uri('') }</style>
是否有其他元素或模式我需要考虑,以防止第三方资源被加载。而且,是的,我很熟悉sandbox属性,但我们也需要支持旧的浏览器。
<img>
具有普遍支持,是电子邮件中引用外部图像的标准。使用url:www.website.com/image.jpg
也可以在<style>
中显示图像。
<link>
对引用webfonts和外部样式表等东西有很好的支持。
<object>
, <video>
, <audio>
被一些客户端支持,但不是很多。
<svg>
是另一个有一些支持的,值得关注。
我不相信<embed>
或<script>
在电子邮件客户端是支持的。它们通常从任何标记中剥离。