如何检查浏览器是否支持 iframe 沙盒?
How can I check if the browser supports iframe sandboxing?
我有一些用户生成的 HTML 和 CSS。如果浏览器不支持 iframes 上的沙箱 属性,我想我应该向用户显示没有 CSS 或 JS 的已清理 HTML,这是阻止 JS 从 运行 开始的原因CSS 选择我页面的一部分。
那么如何检查是否支持沙箱属性?
我找到了有关如何执行此操作的有用 article。
这是从与您的问题相关的文章中获得的代码片段:
function elementSupportsAttribute(element, attribute) {
var test = document.createElement(element);
if (attribute in test) {
return true;
} else {
return false;
}
};
if (elementSupportsAttribute("iframe", "sandbox") {
} else {
// fallback
}
旁注:
iframe
中的 sandbox 属性被几乎所有浏览器支持,除了最新版本的 Opera Mini。大约 98% 网络用户的浏览器将能够支持此属性,因此从技术上讲,您不必担心不支持此属性的浏览器,尽管您始终可以这样做以确保安全。
我有一些用户生成的 HTML 和 CSS。如果浏览器不支持 iframes 上的沙箱 属性,我想我应该向用户显示没有 CSS 或 JS 的已清理 HTML,这是阻止 JS 从 运行 开始的原因CSS 选择我页面的一部分。
那么如何检查是否支持沙箱属性?
我找到了有关如何执行此操作的有用 article。
这是从与您的问题相关的文章中获得的代码片段:
function elementSupportsAttribute(element, attribute) {
var test = document.createElement(element);
if (attribute in test) {
return true;
} else {
return false;
}
};
if (elementSupportsAttribute("iframe", "sandbox") {
} else {
// fallback
}
旁注:
iframe
中的 sandbox 属性被几乎所有浏览器支持,除了最新版本的 Opera Mini。大约 98% 网络用户的浏览器将能够支持此属性,因此从技术上讲,您不必担心不支持此属性的浏览器,尽管您始终可以这样做以确保安全。