为什么我的索引页只在 Safari 中消失?

发布于 2024-12-07 08:26:30 字数 1011 浏览 2 评论 0原文

我已尝试了所有我能想到的方法来追踪这个问题,但无法找到任何结果。我正在为我的网站使用 jquery 地址 插件。

登录到我的网站后,用户被重定向到主页,此时我初始化 jquery 地址插件。这在 FF、IE 和 Chrome 上效果很好,但 Safari 开始加载页面,然后由于某种未知原因变成空白。

它命中的最后一个代码块是这样的:

$('a').address();

$.address.init(function(e) {
    // Address details can be found in the event object
});

// Handle handle change events
$.address.change(function(e) {

    var urlAux = e.value.split('=');
    var page   = urlAux[0];
    var arg  = urlAux[1];


    if (page == "/foo") {
        /* load foo */
    }
    else if (page == "/bar") {
        /* load bar */
    }
    else if (page == "/") {
        /* my index page loaded here */

        $.address.title("Home Page");

        $("#loadImage").show();
        $('#main').load("home.php", function (e) {
            e.preventDefault();
            $("#loadImage").hide();        
        });
    }
});

这在文档就绪之外被调用。您知道什么可能会导致 Safari 中出现此问题吗?

I have tried everything I can think of to track down this issue but can't turn up anything. I'm using the jquery address plugin for my site.

After I login to my site the user gets redirected to the home page at which time I initialize the jquery address plugin. This works great on FF, IE, and Chrome, but Safari starts to load the page and then goes blank for some unknown reason.

The last block of code it hits is this:

$('a').address();

$.address.init(function(e) {
    // Address details can be found in the event object
});

// Handle handle change events
$.address.change(function(e) {

    var urlAux = e.value.split('=');
    var page   = urlAux[0];
    var arg  = urlAux[1];


    if (page == "/foo") {
        /* load foo */
    }
    else if (page == "/bar") {
        /* load bar */
    }
    else if (page == "/") {
        /* my index page loaded here */

        $.address.title("Home Page");

        $("#loadImage").show();
        $('#main').load("home.php", function (e) {
            e.preventDefault();
            $("#loadImage").hide();        
        });
    }
});

This get called outside of document ready. Any idea what might cause this issue in Safari?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

病女 2024-12-14 08:26:30

以下是我要检查的内容:

  • 检查 js 错误或警告
  • 检查任何失败的网络请求
  • 确认 page 和 arg 均已定义 确保
  • 所有缓存均已禁用
  • 暂时更改 home.php 的内容以确保该请求中发生的事情并不奇怪。
  • 检查它是否正常工作,但只是被隐藏(您正在元素上调用 .hide()...)

请记住:开发人员工具是您的朋友(Command+Alt+i)
祝你好运!

Here's what I would check:

  • Check for js errors or warnings
  • Check for any failed net requests
  • Confirm that page and arg are both defined
  • Make sure all caching is disabled
  • Change the contents of home.php temporarily to make sure it's not something weird happening inside that request.
  • Check that it's working, but just being hidden (you are calling .hide() on an element...)

Remember: the Developer Tools are your friend (Command+Alt+i)
Good Luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文