【发布时间】:2021-04-16 13:34:27
【问题描述】:
对于FRAME 的src 属性是否有任何要求/规范,尤其是如果我必须自己URI 编码(百分比编码)其值(在HTML 中)?
看起来 Internet Explorer 在这里对某些字符(0x 编码而不是百分比编码)进行了错误编码(导致400 Bad Request 服务器响应),而 chrome/firefox 正确编码了这样的“框架 src”-URL 并且工作。
在 IE 11 上重现 400 响应但适用于其他浏览器的示例 HTML 代码(由于同源/跨站点限制,您可能需要绕过某些浏览器安全保护):
<!DOCTYPE html>
<html>
<FRAMESET>
<FRAME src="https://www.stackoverflow.com?param=ÖÄÜ"/>
</FRAMESET>
</html>
【问题讨论】:
-
HTML 被设计为具有弹性,浏览器应该尝试修复他们发现的所有错误。因此,您的编码并不需要正确。但是,依赖浏览器能够从错误条件中恢复会使事情变得难以预测。
标签: html internet-explorer frame urlencode frameset