Плагин JQuery Address - отслеживание истории (назад / вперед) не работает - PullRequest
0 голосов
/ 06 марта 2011

Я пытался заставить плагин адреса Jquery работать должным образом около 12 часов, поэтому я решил, что его время для публикации. У меня проблема в том, что не работает навигация назад и вперед. IE: нажмите на ссылку, а затем нажмите кнопку назад, на самом деле не перейти обратно. Это меняет URL, хотя. Другая вещь, которая заставляет меня поверить, что я делаю что-то в корне неправильное, это то, что я вставил $.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», но это тоже не сработало.

Я ценю помощь!

Ответы [ 2 ]

0 голосов
/ 22 сентября 2011

Вот в чём дело: он загружает страницы самостоятельно (через функцию, инициированную событием щелчка), что вам нужно сделать, чтобы создать функцию, запускаемую событием адреса JQ change, и внутри, которая использует адрес JQ * 1002.* атрибут (значение глубокой ссылки после #), чтобы установить правильную страницу для загрузки с AJAX.

Сейчас вы говорите JQ Address, каково текущее состояние вашей страницы, но вы не говорите, что делатьс этим значением вы сами вносите изменения, поэтому JQ Address не может их вносить, когда вы вводите правильный URL-адрес или используете кнопки перемотки назад.

0 голосов
/ 06 марта 2011

Этот плагин работает так же, как и многие другие плагины истории / хеша.Однако согласно asual.com примерам - он вызывает функцию init (), хотя в документах говорится, что вам не нужно.

Просмотрите источник этого и посмотрите, есть ливещи задокументированы ненадлежащим образом

...