HTML如何无延迟地从其他htm文件中包含HEAD标记或CSS

时间:2014-06-11 01:45:49

标签: javascript jquery html css include

因此,我不能使用PHP,因为ISAPI不与其他ISAPI一起使用。无论如何,通常我可以创建index.phpheader.php,然后在index.php我只使用include()。

但是现在,由于文件必须使用.htm扩展名,我想知道如何在其他文件中包含内容,例如:如果我说index.htmheader.htm以及other.htm < / p>

header.htm看起来像这样

  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=0">
    <meta name="description" content="">
    <meta name="author" content="">

    <title>Dashboard</title>

    <!-- Bootstrap core CSS -->
    <link href="css/customBootstrap/bootstrap.min.css" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link href="css/styles.css" rel="stylesheet">

    <!-- Fonts -->
    <link href="css/fa-4.0.3/font-awesome.min.css" rel="stylesheet" type="text/css">
    <link href='http://fonts.googleapis.com/css?family=Muli' rel='stylesheet' type='text/css'>

    <!-- Favicon -->
    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
    <link rel="icon" href="favicon.ico" type="image/x-icon">

    <!-- Just for debugging purposes. Don't actually copy this line! -->
    <!--[if lt IE 9]><script src="../../docs-assets/js/ie8-responsive-file-warning.js"></script><![endif]-->

    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
    <![endif]-->

    <!-- FontAwesome Fix for IE7 -->
    <!-- [if IE 7]>
        <link href="css/fa-3.2.1/font-awesome.min.css" rel="stylesheet" type="text/css" />
        <link href="css/fa-3.2.1/font-awesome-ie7.min.css" rel="stylesheet" type="text/css" />
    <![endif]-->

  </head>

所以我想在任何其他文件中,我不必在顶部复制相同的东西(所以我只需要更改一个文件)。

我该怎么办?我尝试过这样的工作。但是,它有一个瞬间延迟(因此,在正确加载之前,用户将看到一个没有css的页面瞬间加载。

<!DOCTYPE html>
<html lang="en">
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script> 
        $(function(){
          $("#header").load("../../common/header.htm"); 
        });
    </script> 

    <div id="header">
    </div>
    <body>
       ....

任何帮助?

谢谢

2 个答案:

答案 0 :(得分:0)

  1. 不需要文档就绪,因为你希望css在正文中的其他元素之前加载

    $( “#标题”)负载( “../../公共/ header.htm”);

  2. 在header.htm中使用css文件的绝对路径。我怀疑你因为css相对路径

    而无法加载你的CSS

    /path/to/your/css/css1.css

  3. ../../css/css1.css
    

    希望这个帮助

答案 1 :(得分:0)

您可以通过两种方式实现这一目标:

使用jQuery:

<强>的index.htm

<html> 
  <head> 
    <script src="jquery.js"></script> 
    <script> 
    $(function(){
      $("#includedContent").load("header.htm"); 
    });
    </script> 
  </head> 

  <body> 
     <div id="includedContent"></div>
  </body> 
</html>

<强> header.htm

<p> This is my included file </p>

或者使用简单的html,它看起来像是评论,你可以访问这个链接。 Including HTML inside another HTML