0

我的网站上有一些奇怪的行为,我不知道如何解决。

一个重要的事实开始:当我点击地址栏并点击进入时,网站加载得很好但是当我用 F5 刷新它时,噩梦发生了。例如,我使用这个 jQuery 脚本来使 div 居中:

jQuery.fn.center = function(parent) {
    if (parent) {
        parent = this.parent();
    } else {
        parent = window;
    }
    this.css({
        "position": "fixed",
        "top": ((($(parent).height() - this.outerHeight()) / 2) + $(parent).scrollTop() + "px"),
        "left": ((($(parent).width() - this.outerWidth()) / 2) + $(parent).scrollLeft() + "px")
    });
return this;
}

刷新后 div 消失。我发现这是因为它的“顶部”属性以一种非常奇怪的方式分配。第一次进入后就可以了(它居中),第二次刷新后它的“top”属性设置为 900px,第三次刷新后它是 1100px。

另一件事是我在我的网站上使用了这个日历脚本:http ://www.eyecon.ro/datepicker/ 。我只是将它分配给块,一切正常,但在按下 F5 后有时它会加倍(显示双日历)和类似的事情。我认为这可能会发生,因为我在网站上使用了一个表单和一些 javascript 来处理它(现代浏览器在刷新后会记住输入的值)所以我在整个表单上设置了 autcomplete="off"。没有解决问题。这可能是什么原因?

4

2 回答 2

1

你如何实现函数的调用?“文件准备好”之后的一切?

$(document).ready(function () {
    // javascript code here
});
于 2013-07-12T08:44:32.960 回答
0

好的,我刚刚发现了一些线索。

Ctrl + F5 有帮助,因为它是关于清除缓存的,它可能就是它。但我仍然不知道为什么会发生这种情况,因为当我查看标题时,我看到了这个:

HTTP/1.1 200 OK
Date: Fri, 12 Jul 2013 09:03:12 GMT
Server: Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7
X-Powered-By: PHP/5.4.7
**Cache-Control: no-cache**
X-Debug-Token: a4c0e3
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

所以看起来缓存不应该工作?那为什么会这样呢?

于 2013-07-12T09:05:53.290 回答