1

我把这段代码:

<!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 不断重新加载。我正在尝试使此页面具有响应性,但我遇到了细节问题。

谢谢

4

1 回答 1

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.locationresize ](每次加载页面时都会调用该事件)。你把它放入 IE 条件下,这就是它不断重新加载的原因。您可能想在页面调整大小时重绘“某些东西”,只需调用onresize="draw()"like <body onload="draw()" onresize="draw()">

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

于 2012-08-20T16:18:26.820 回答