导入标记内容的最佳性能

时间:2016-01-22 15:30:14

标签: javascript jquery html css html5

我正在尝试确定将head.html文件导入每个网页的from django.contrib.admin import helpers class SliderContentAdmin(admin.ModelAdmin): min_objects = 1 def has_delete_permission(self, request, obj): queryset = self.model.objects.all() # If we're running the bulk delete action, estimate the number # of objects after we delete the selected items selected = request.POST.getlist(helpers.ACTION_CHECKBOX_NAME) if selected: queryset = queryset.exclude(pk__in=selected) if queryset.count() <= self.min_objects: message = 'There should be at least {} object(s) left.' self.message_user(request, message.format(self.min_objects)) return False return super(SliderContentAdmin, self).has_delete_permission(request, obj) 标记的最佳方法。我想这样做,以便所有资源都位于一个文件中,以最大限度地减少其他文件中的膨胀,并且还为每个页面上的页眉/页脚提供导入。

head.html

<head>

我已经考虑过JavaScript加载,但是直接导入JavaScript文件是不好的做法。通过Google's PageSpeed Insights运行网站,建议您“Remove Render-Blocking JavaScript”。

index.html头标记带有JavaScript

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Sample</title>
<link rel="icon" type="image/png" href="images/sample.png">

<link href="css/bootstrap.min.css" rel="stylesheet" type="text/css">
<link href="//fonts.googleapis.com/css?family=Andada" rel="stylesheet" type="text/css">
<link href="//fonts.googleapis.com/css?family=Lato" rel="stylesheet" type="text/css">
<link href="css/bootstrap-social.css" rel="stylesheet" type="text/css">
            <link href="css/font-awesome.min.css" rel="stylesheet" type="text/css">

<script type="text/javascript" src="scripts/jquery-2.1.4.min.js"></script>

 <script>
     $(function () {
         $("header").load("header.html");
         $("footer").load("footer.html");
     });
 </script>

我也尝试过使用HTML导入。这似乎可以在桌面上正常工作,除了导入在渲染时引入完整的HTML文档,将文件的内容包装在<head> <script type="text/javascript" src="scripts/jquery-2.1.4.min.js"></script> <!-- Blocking JavaScript --> <script> $(function () { $("head").load("head.html"); }); </script> <head> 标记中。这很烦人,在我的Android手机上无法正常使用。

使用HTML导入

呈现index.html头标记
<html><head><body>

2 个答案:

答案 0 :(得分:1)

JQuery加载标题内容是一种糟糕的方式!!

如果您将PHP个文档另存为.html,则应该查看.php 然后使用PHP包含在index.php文件中将这些包括在页面中。

index.php示例:

<?
  include('header.php');

   <div>body content here</div>

 include('footer.php');
?>

答案 1 :(得分:0)

这取决于您的服务器正在运行的服务器端语言。如果它是php,那么

<html>
    <head>
        <?php include('path_to_file/head.php'); ?>
    </head>
    <body>
    </body>
</html>

您也可以使用include_once,require或require_once。如果您的服务器运行的不是php,那么您将不得不使用其语言中的等效内容。如果您无法访问服务器并且正在运行完全静态的网站,例如关闭Dropbox,Google云端硬盘或S3,那么我知道的最佳选择(如果您只有少量内容)是不包含文件但只需从一个基页运行所有内容,其内容隐藏并使用javascript显示。