如何将HTML5标头标签用于Internet Explorer 8?

问题描述 投票:1回答:4

我有这个简单的HTML 5页面,也必须在Internet Explorer 8上运行良好:

<html>
    <head>
        <link href="<c:url value="resources/css/style.css" />" rel="stylesheet">

        <link href="<c:url value="resources/css/bootstrap.css" />" rel="stylesheet">
        <link href="<c:url value="resources/css/bootstrap-theme.css" />" rel="stylesheet">



        <title>Login Page</title>

    </head>

    <header>
      <div class="container">
        <img src="resources/img/logo2.png" class="logo">


        <div id="login-box">

            <c:if test="${not empty error}">
                <div class="error">${error}</div>
            </c:if>

            <form class="form-inline" name='loginForm' action="<c:url value='/j_spring_security_check' />" method='POST'>
              <div class="form-group">
                <label class="sr-only" for="exampleInputEmail3">Email address</label>
                <input type='text' name='username' class="form-control" id="exampleInputEmail3" placeholder="Nome Utente">
              </div>

              <div class="form-group">
                <label class="sr-only" for="exampleInputPassword3">Password</label>
                <input type='password' name='password' class="form-control" id="exampleInputPassword3" placeholder="Password">
              </div>

              <!--  <button type="submit" class="btn btn-default">Sign in</button> -->
              <input id="ricorda" name="submit" type="submit" class="btn btn-default" value="login" />

              <br>

              <div class="checkbox">
                <label>
                  <input type="checkbox"> Remember me
                </label>
              </div>
            </form>
        </div>

      </div>
    </header>

    <body onload='document.loginForm.username.focus();'>
        <jsp:include page="header.jsp"/>
        <div id="intestazione">
            <h1 align="center">WIFI e PNSD</h1>
        </div>
        <div id="login-box">

            <h3>Accesso al sistema</h3>

        </div>
         <jsp:include page="footer.jsp"/>

         <script type="text/javascript" src="webjars/bootstrap/3.2.0/js/bootstrap.min.js"></script>
         <script type="text/javascript" src="webjars/jquery/2.1.1/jquery.min.js"></script>

    </body>
</html>

问题是,当我尝试将其打开到IE8时,它不会将HTML5标记看作标题标记。

所以我找到了这个解决方案:http://tatiyants.com/how-to-get-ie8-to-support-html5-tags-and-web-fonts/

指定在我的页面中添加这些行来解决问题:

<!--[if lt IE 9]>
   <script>
      document.createElement('header');
      document.createElement('nav');
      document.createElement('section');
      document.createElement('article');
      document.createElement('aside');
      document.createElement('footer');
   </script>
<![endif]-->

但究竟我将这些线放在上一页中?这些线究竟是什么?

TNX

html css html5 css3 internet-explorer-8
4个回答
1
投票

AndreaNobili,请添加你的html文件头:

<!--[if lt IE 9]>
 <script src="http://html5shim.googlecode.com/svn/trunk/html5.js">
 </script>
<![endif]-->

现在即8浏览器支持您的所有html5元素。


0
投票

使用HTML5 Shiv将兼容性添加回旧版浏览器。

http://code.google.com/p/html5shiv/


0
投票

您使用和发布的解决方案是IE conditional comment,并且您的示例将强制使用低于9的任何版本的IE来渲染,因此识别这些元素。

但是您的页面存在一些问题。您缺少q5xswpoi标记上方的HTML5 doctype:<!DOCTYPE html>。您可能还需要将<html>添加到CSS中的HTML5元素中。

您询问应该在何处使用条件注释。这可以进入你的display: block部分或在结束的<head>标签之上。为了确保没有</body>或任何IE怪癖,我建议将它放在FOUC标签内。

或者,最简单的选择是使用HTML5 shiv的<head>


0
投票

由于此问题中发布的链接不再起作用,因此在任何样式表之后的head部分中添加以下代码。

Lalji Tadhani's recommendation

或者,转到<!--[if lt IE 9]> <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"> </script> src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"> </script> <![endif]--> 并将文件下载到您的项目中。

© www.soinside.com 2019 - 2024. All rights reserved.