在旧浏览器(IE11)上加载Nuxt.js页面时显示不同的页面



由于无法让我的nuxt.js应用程序在IE11上运行(可能是由于不正确的依赖关系(,我正在寻找一个解决方案,以便在IE 11中加载页面时显示不同的网页。

问题是,根据IE11,我的JS包含语法错误,所以我正在寻找一个可以编程到app.html文件中的解决方案。我在app.html中尝试了以下代码来运行一个脚本,然后该脚本会自动更改headbody属性的内容。

<!DOCTYPE html>
<html {{ HTML_ATTRS }}>
<head {{ HEAD_ATTRS }}>
<script>
function isIE() {
const ua = window.navigator.userAgent;
const msie = ua.indexOf('MSIE ');
const trident = ua.indexOf('Trident/');
return (msie > 0 || trident > 0);
}
if (isIE()) {
document.write('<body>oudebrowser</body>')
} else {
document.head.innerHTML = "{{ HEAD }}"
document.write('<body {{ BODY_ATTRS }}>{{ APP }}</body>')
}
</script>
</head>
</html>

问题是我无法逃离{{ HEAD }}变量的内容,所以我担心这种尝试的解决方案会导致死胡同。

您可以使用浏览器列表来设置您希望Babel传输到的浏览器。

你也可以尝试魔术评论,但我不建议这样做,因为它将直接在HTML中完成:即条件评论需要解释

此外,IE目前被微软自己弃用。除此之外,许多公司已经不支持它了。因此,如果你没有从一些IE用户那里获得很多现金,你可能也应该停止支持IE:https://death-to-ie11.com

放弃它,追求更快、更好、更轻松的网络应用体验。

PS:Vue3也不支持IE。

最新更新