大体思路:url通过pushstate、popstate(HTML5)修改,web内容通过Ajax载入。
前提:结构,表现和行为分离;同时,CSS和JS代码为外联导入;(因为要动态替换。)
1、将网页的需要改变的内容分离出来,在仅留下空标签<div id="main"></div>;
2、将内容(不含1中的空标签)存储到一个html(先清空默认所有代码,仅保留复制的代码)页面中,如:Main/index.html;
3,将局部作用的CSS和JS代码进行标记:<link class="localStyle"".../>、 <script class="localFunction".../>
4、首次载入页面时,通过Ajax动态将内容还原回网页:$('#main').load("Main/Index.html");
5、非首次载入时,通过pushstate、popstate修改url地址;除了4、还得先Ajax替换CSS为对应的网页: $('.localStyle').attr({ href: "Style/Laboratory.css" });JS代码直接替换会导致无法初始化,所以先删除,在通过插入元素的方式导入。(待优化)
6、待续...