如果有人使用Internet Explorer进入网站,我会弹出一个警告框。我遇到的问题是警报立即显示,因此有时在警报显示时仍可以看到以前的网站。我需要延迟一下,以便网站可以在警报显示之前加载-或仅在加载所有内容后才显示。我使用Wordpress。
我尝试了很多在网上找到的代码,但是不幸的是,这些代码对我没有用,主要是因为我不知道如何将“包含”到我已经拥有的代码中(我是从另一个堆栈中获得的)溢出线程)
function isIE() {
ua = navigator.userAgent;
/* MSIE used to detect old browsers and Trident used to newer ones*/
var is_ie = ua.indexOf("MSIE ") > -1 || ua.indexOf("Trident/") > -1;
return is_ie;
}
/* Create an alert to show if the browser is IE or not */
if (isIE()){
alert('MY ALERT MESSAGE');
}
我希望在页面加载后以延迟或使用onload的形式显示警报。首选Java语言“ only”,因为我使用的是不喜欢jQuery的网页构建器。
答案 0 :(得分:0)
我建议在页面底部添加脚本标签,或使用body元素的onload
。
在两种情况下,都会在html到达用户后发出警报。
另一种更优雅的方法是自己制作一个小模式,即创建自己的“警报”。默认情况下,您将其隐藏,并在用户具有IE时显示它:
// CSS
#browserWarning{
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%);
background: #FFF;
padding: 25px;
}
// Javascript
if (isIE()){
document.getElementById("browserWarning").style.display = 'block';
}
您现在可以创建看起来更好的东西,进行更多解释(我假设此处显示“不支持IE,因为”消息),并且由于它是非阻塞的,因此页面的其余部分继续加载
答案 1 :(得分:-1)
在setTimeout中包装语句。时间以毫秒为单位
if (isIE()){
setTimeout(function () {
alert('MY ALERT MESSAGE');
}, 1000);
}