【发布时间】:2014-04-04 20:00:02
【问题描述】:
下面是我的 AJAX 代码将 DIV 从外部 HTML 文件加载到目标 DIV 到另一个 HTML 页面上,任何人都可以建议如何使加载内容的页面具有返回/刷新/热链接功能,保持 DIV 加载在页?
$(document).ready(function(){
$(document).on('click', '#about2', function() {
$("#content").load("content.html #about", function() {
$.getScript("slides.js", function() {
$(window).scrollTop(0);
});
});
});
$(document).on('click', '#process2', function() {
$("#content").load("content.html #process", function() {
$(window).scrollTop(0);
});
});
$(document).on('click', '#materials2', function() {
$("#content").load("content.html #materials", function() {
$(window).scrollTop(0);
});
});
$(document).on('click', '#radio2', function() {
$("#content2").load("content.html #radiofriendly", function() {
$(window).scrollTop(0);
});
});
});
基本上,我想:
http://crookedcartoon.co.uk/print.html#process
直接链接到加载了#process DIV 的页面,允许刷新、后退、前进浏览器功能。有什么建议么?目前它只是链接到 http://crookedcartoon.co.uk/print.html 并加载了原始 DIV。
在此先感谢,JQuery 确实有问题。
编辑**
$(document).ready(function(){
$(document).on('click', '#about2',function ParseURL() {
switch(location.hash.split("&")[0]) {
case '#about':
$("#content").load("content.html #about", function() {
$(window).scrollTop(0);
});
break;
$(document).on('click', '#process2',function ParseURL() {
switch(location.hash.split("&")[0]) {
case '#process':
$("#content").load("content.html #process", function() {
$(window).scrollTop(0);
});
break;
$(document).on('click', '#materials2',function ParseURL() {
switch(location.hash.split("&")[0]) {
case '#process':
$("#content").load("content.html #materials", function() {
$(window).scrollTop(0);
});
break;
$(document).on('click', '#pricing2',function ParseURL() {
switch(location.hash.split("&")[0]) {
case '#process':
$("#content").load("content.html #pricing", function() {
$(window).scrollTop(0);
});
break;
default:
}
}
$(window).bind("pageshow", function(event) {
if (event.originalEvent.persisted) {
ParseURL();
}
});
$(document).ready(function ($) {
ParseURL();
});
【问题讨论】:
-
这就是它的工作原理,当您在事件上动态加载内容时,当您离开站点时,该内容就消失了。有一些方法可以保持持久存储,但要跟踪您所做的所有动态更改,并让它们在页面重新加载时重新出现,这将是一项相当艰巨的任务。