zoukankan      html  css  js  c++  java
  • 静态页面公共部分的处理

    写一个静态网站,每个网站中都有相同的头部和尾部,为了避免粘贴复制的重复操作,想到几个方法:

    1.使用框架 angular.js vue.js或者模块化开发 (但是这个静态网站没有什么复杂的功能,引入框架有些大题小做 pass)

    2.前端服务器上开启ssi  (服务器是 Linux 没有开启 ssi  pass)

       这里有详细的介绍 戳一下

    3.使用iframe 把页面拆分为多个 然后引入 (当想要用iframe的时候 脑海里总是跳出n个不用iframe的理由 pass)

          这个是用了layui框架的 首页 将头部和底部  内容区域 进行变换

     <div class="layui-tab-content"  style="padding:0">
                    <div class="layui-tab-item layui-show">
                        <iframe src="main.html"></iframe>
                    </div>
     </div>  

    对应变换iframe的src进行页面的跳转

    ’<iframe src="' + data.href + '" data-id="' + globalTabIdIndex + '"></iframe>‘

    4.使用js加载引入 

      在公共的js中添加

    $('header').load("head.html");
    $('footer').load("foot.html");
    

      每个页面的结构均为

     

    这里说一下 需要写一个nav.js用来控制 跳转页面后 导航栏的状态改变(当然不止这一种方法)

    function init(){
        var link=['index','about','delop','new','recruit','contact'];//这个为你页面名称,顺序和导航到对应,这里二级目录会用关键字 eg:newDetails新闻详情 
        var keyword;
        for(var i=0;i<=link.length-1;i++){
            keyword=window.location.href.lastIndexOf(link[i])
            if(keyword>=0){
                change(i)
                return null
            }
        }
    }
    
    function change(key){
    //改变导航栏状态
        $('.nav>li').eq(key).addClass('on').siblings().removeClass('on')
    }

    这样就可以快速实现 前端的模块化 但是有缺陷 首页也做成这样的话 搜索引擎不会抓取到导航以及底部的链接点 不利于seo 

    以后有好的方法会继续完善。。。

  • 相关阅读:
    javascript模拟jQuery封装委托事件,兼容IE
    javascript事件有哪些?javascript的监听事件
    javascript阻止事件冒泡的兼容写法及其相关示例
    Spring的特点
    异常以及为什么要学异常
    Windows下干活儿辅助软件
    Oracle EBS SLA 详解
    EBS获取并发程序Trace File
    EBS Custom Password Rules
    Oracle PLSQL读取(解析)Excel文档
  • 原文地址:https://www.cnblogs.com/GoTing/p/8490195.html
Copyright © 2011-2022 走看看