我之前发过约1个问题。得到了修复,但它提出了另一个问题......
以下代码......
在所有其他浏览器中单击“是”时页面将重新加载,而不会返回SimpleModal。
但在IE8中,它不断加载SimplModal,从而拒绝访问该网站......
先谢谢你们的帮助!
<!-- Init Age Verification Content -->
<div class="age" id="verify">
<div><img src="white.png"></img></div>
<div id="noman">ARE YOU OVER 18?</div>
<div>
<p> If not, leave now and we wont tell your mom.
</br> By continuing you agree you're 18 or older.
</p>
</div>
<div id="YN">
<a href="javascript:window.location.href=window.location.href" id="old">Yes</a>
<a href="example.com" rel="nofollow" id="young">No</a>
</div>
</div>
<!-- If previous page wasn't from us... Verify -->
<script>
if ( document.referrer == null || document.referrer.indexOf(window.location.hostname) < 0 ) {
$("#verify").modal({opacity:85, position: ["20%",""], onOpen: function (dialog) {
dialog.overlay.fadeIn('slow', function () {
dialog.container.slideDown('slow', function () {
dialog.data.fadeIn('slow');
return false;
});
});
}});
}
</script>
答案 0 :(得分:3)
如果用户没有通过链接navegate到页面,IE不会设置document.referrer
从MDN文档:“如果用户,该值为空字符串 直接导航到页面(不是通过链接,但是,例如, 通过书签)。由于此属性仅返回字符串,因此它会返回 没有给你DOM访问引用页面。“
只需将链接的href更改为您网页的地址,或尝试此解决方法。
<a href="javascript:redirect(window.location.href);" id="old">Yes</a>
<script type="text/javascript" >
function redirect(url) {
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
var referLink = document.createElement('a');
referLink.href = url;
document.body.appendChild(referLink);
referLink.click();
} else {
location.href = url;
}
}
</script>