0

我正在使用 jquery.address 插件来更新浏览器的地址栏,同时通过 ajax 加载内容。一切正常,除了我不知道如何在用户尝试访问诸如“domain.com/about-us”之类的书签页面时自动将 event.value 或 event.path 加载到我用来加载内容的 DIV 中,在这种情况下页面会加载,但“关于我们”的内容不会加载到 DIV 中。我错过了什么?这是我的代码:

JS:

function loadURL(url) {
    $("#content").fadeOut(600, function() {
        $(this).load(url).fadeIn(800);  
    });
}

$.address.init(function(event) {

    $.ajax({
        url: event.value,
        success: function(data){ $('#content').load(data); }
    });

}).change(function(event) {

    $('a').click(function(){
         loadURL($(this).attr('href'));
    });

});

HTML:

<div id="menu">
        <ul>
            <li id="menu_about"><a href="about-us.html" rel="address:/about-us">About Us</a></li>
            <li id="menu_contact"><a href="contact.html" rel="address:/contact">Contact</a></li>
        </ul>
</div>

<div class="wrapper">

    <div id="content">

    </div>

</div>

.ht 访问:

<IfModule mod_rewrite.c>
  RewriteEngine on

  # Rewrite current-style URLs of the form 'index.html?url=x'.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.html?url=$1 [L,QSA]
</IfModule>

谢谢!

4

1 回答 1

0

$.address.externalChange(function(event)) 是您正在寻找的。它将捕获页面加载的路径。

于 2013-09-12T11:25:00.137 回答