0

我一直试图让 Jquery 地址插件正常工作大约 12 个小时,因此我认为是时候发布了。我遇到的问题是后退和前进导航不起作用。IE:点击一个链接然后点击返回按钮实际上并没有返回。它虽然改变了网址。另一件让我相信我做的事情根本错误的事情是我已经插入了$.address.title($(this).attr("title"));并且它实际上并没有改变地址。

jQuery在这里:

$('#swNavlist a').address(); 
$('#swNavlist a').click(function() {

    $("#swBody").block({ 
    message:"Loading",
    css: { 
        border: 'none', 
        padding: '15px', 
        backgroundColor: '#000', 
        '-webkit-border-radius': '10px', 
        '-moz-border-radius': '10px', 
        opacity: .5, 
        color: '#fff' 
    } });


    var content_show = $(this).attr("href").replace(/^#/, '');


    $.ajax({
        method: "get",url: content_show,
        //"+bvLanguage+"/

        success: function(html){ //so, if data is retrieved, store it in html

            $("#swBody").html(html); //show the html inside .content div
            $("#swBody").unblock();
            $.address.title($(this).attr("title"));


        },//success
        error: function(){
            $("#swBody").unblock();
            $("#swBody").block({ 
                message:"Error Encountered",
                css: { 
                    border: 'none', 
                    padding: '15px', 
                    backgroundColor: '#000', 
                    '-webkit-border-radius': '10px', 
                    '-moz-border-radius': '10px', 
                    opacity: .5, 
                    color: '#fff' 
                }, 
                timeout:1000
            })  
        }   
    }); //close $.ajax(
    $("#swNavlist").topZIndex();

});//end navigation  

这里的 HTML:

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
    <Title>Swebits Home</title>
    <link href="css/swCss.css" rel="styleSheet" type="text/css" />
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript" src="js/jquery.pngFix.js"></script> 
    <script type="text/javascript" src="js/jquery.blockUI.js"></script> 
    <script type="text/javascript" src="js/jquery.topzindex.min.js"></script> 
    <script type="text/javascript" src="js/sw.js"></script>
    <script type="text/javascript" src="js/jquery.address-1.3.2.min.js?autoUpdate=1"></script>



</head>

<body>
        <div id="swHead">
            <div class="leftCol"></div>
            <div class="centerCol">


                <div class="navigation">
                    <ul id="swNavlist">
                        <li id="active"><a href="#home.html" id="current" title="Swebits Home">Home</a></li>
                        <li><a href="#webd.html" title="Swebits Web Development">Web Design</a></li>
                        <li><a href="#bla.html" title="webs.html">Web Systems</a></li>
                        <li><a href="" title="hosting.html">Hosting</a></li>
                        <li><a href="" title="photo.html">Photography</a></li>
                        <li><a href="" title="portfolio.html">Portfolio</a></li>
                        <li><a href="" title="network.html">Our Network</a></li>
                        <li><a href="" title="contact.html">Contact</a></li>
                    </ul>
                </div>
            </div>
            <div class="rightCol"></div>
        </div>
    <div id="swContainer" class="clearfix">


        <div id="swCenter" class="clearfix">


            <div id="swBody">
                <?php
                    include("home.html");
                ?>
            </div>

            <div id="swFooter">

            </div>

        </div>

    </div>

</body>

最后,我尝试实现一个 if 语句,以便如果目标为空白,页面将重定向到“error.html”,但这似乎也不起作用。

感谢您的帮助!

4

2 回答 2

0

这个插件似乎和许多其他历史/哈希插件一样。然而,根据asual.com的示例 - 他确实调用了 init() 函数,即使文档说你不必这样做。

查看它的来源,看看是否有些东西记录不正确

于 2011-03-06T16:53:16.233 回答
0

事情是这样的,它接缝你自己加载页面(通过点击事件触发的函数)你需要做什么来创建一个由 JQ 地址事件触发的函数,change并在其中使用 JQ 地址value属性(之后的深层链接值#)来设置要使用 AJAX 加载的正确页面。

现在您告诉 JQ Address 您当前的页面状态是什么,但您没有告诉它如何处理该值,您需要自己进行更改,因此当您输入正确的 URL 或使用后退前进按钮。

于 2011-09-22T19:44:52.277 回答