onresize重新加载问题

时间:2012-08-20 16:12:23

标签: html css html5 css3

我把这段代码:

<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<link href='http://fonts.googleapis.com/css?family=Ubuntu+Condensed' rel='stylesheet' type='text/css'>  
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Abbey Test</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="css/style.css">


</head>
<script src="js/libs/modernizr-2.5.3.min.js"></script>

<![if !IE]> <body onresize="document.location=window.location";> <![endif]>
<!--[if IE]> <body onresize="window.location.reload()"> <![endif]-->

<script type="text/javascript">
(function() {
var config = {
  kitId: 'dlv2pds',
  scriptTimeout: 3000
};
var h=document.getElementsByTagName("html")[0];h.className+=" wf-loading";var t=setTimeout(function(){h.className=h.className.replace(/(\s|^)wf-loading(\s|$)/g," ");h.className+=" wf-inactive"},config.scriptTimeout);var tk=document.createElement("script"),d=false;tk.src='//use.typekit.net/'+config.kitId+'.js';tk.type="text/javascript";tk.async="true";tk.onload=tk.onreadystatechange=function(){var a=this.readyState;if(d||a&&a!="complete"&&a!="loaded")return;d=true;clearTimeout(t);try{Typekit.load(config)}catch(b){}};var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(tk,s)
})();
</script>


<body onload="draw();">

在我正在制作的HTML5页面中,以补偿我正在调整的Chrome窗口大小调整问题。这导致IE继续重新加载。我正在尝试使这个页面响应,但我遇到了细节。

由于

1 个答案:

答案 0 :(得分:0)

我认为问题是您应该保留第一个<body ..>而没有任何条件,因为它们未在浏览器中解释!= IE

修改

重新思考你的问题后(​​IE会显示两个<body>标签:/)你应该尝试这种方法

<!--[if IE]>    <body onresize="window.location.reload()"> <![endif]-->
<!--[if !IE]><!--> <body onresize="document.location=window.location";> <!--<![endif]-->

取自html5boilerplate;)

编辑 @Schnaars评论

您的网站正在重新加载,因为每次调整窗口大小时都会调用window.location.reload() [window.location](每次加载页面时都会调用resize事件)。你把它放入IE条件,这就是为什么它不断重新加载。 你可能想要重绘一些东西&#34;在页面调整大小时,只需像onresize="draw()"一样调用<body onload="draw()" onresize="draw()">

旁注:使用jQuery或类似的库会使事件处理和其他事情变得更容易;)