如何使用.load()根据引用者URL加载特定内容ID

时间:2012-01-13 13:18:04

标签: php jquery

以下是我的代码示例,当用户click添加链接时,它会加载特定内容id,如果有default次操作,则会显示no click个内容进入#content div

$(document).ready(function () {
    $.ajaxSetup({
        cache: false
    });
    $("a.view").live('click', function (e) {
        var id = $(this).data("id");
        $('#content').load("content.php?" + id);
        e.preventDefault();
    });
    $('#content').load("content.php");
});

问题,当用户使用direct link或输入网址栏时如何自动加载内容:示例http://domain.com/content.php?id=5

因此,如果用户输入或使用直接链接,我希望脚本与.live('click')完全相同,并加载current id示例为5

让我知道。

1 个答案:

答案 0 :(得分:2)

使用您的示例,您需要一个锚点来绑定到:

<a href="#" data-id="5" class="view">Some Link</a>

然后代码应该如下工作:

$(function(){
  // bind to current and future anchors with the "view" class applied
  $('a.view').live('click',function(){
    // grab the content and load it in to the container
    $('#container').load('content.php?id=' + $(this).data('id'));
    // return false so it doesn't follow the link
    return false;
  });

  // also load the default content (before any click event)
  $('#container').load('defaultContent.php');
});

但是,如果您正在寻找无缝(和SEO可接受的)内容页面,我会使用hashbang语法:What's the shebang/hashbang (#!) in Facebook and new Twitter URLs for?