我自己写了一个页面,除了公共部分的页头页脚以外,其余内容都是通过Ajax加载过来的,现在遇到了比较头疼的问题:
先说一下我加载的方式
$.ajax({
type : "GET",
url : hrefPage,
dataType : 'html',
cache : true, // (warning: this will cause a timestamp and will call the request twice)
success : function(data) {
window.history.pushState({"url":hrefPage}, "", hrefPage);
//把所有内容替换至相应的div元素中
container.html(data);
},
async : false
})
在我从远程获取的html代码中,包含了
JS能够在加载页面之后成功运行,这是我想要的。
但是问题来了:
我发现我连续点了几个页面之后(其中包含相同的页面)都是用Ajax获取。会发生重复调用JS情况,在FFdebug的页面中看到了这种一大堆东西:
现在我点击一个相同的页面会触发好多某一个事件(比如重复发送load请求,成倍的获取ajax数据)
因为我已经切换到另外一个页面了,但是还是会触发上一个页面的js导致报错
或者换一个说法,如何在切换页面的同时,把上一个页面也加载过的JS清除掉呢?
目前我还没有遇到过这种情况,百度了一晚上也没有找到什么有价值的信息,还希望诸位大神出谋划策,先谢谢各位了~