代码之家  ›  专栏  ›  技术社区  ›  Joelio

如何在页面加载时进行Ajax导航?

  •  0
  • Joelio  · 技术社区  · 15 年前

    我有一个页面,其中有几个报告是通过Ajax调用生成的。我是这个页面上的prototype.js框架,用于显示一些函数。

    每个报表的链接都有锚定/标记,如report1、report2等,这些锚定/标记是带有onclick函数的href,通过javascript进行大量工作来创建报表。

    我想这样做,如果一个用户用一个链接给一个页面加书签,或者直接用我的页面加载报告的URL中的锚/链接导航。

    因此,如果用户转到: http://mysite/myPage.jsp#Report2 它应该加载页面并转到第二个报告。

    在我的页面加载中,我是否可以查看锚点/链接并为该锚点执行onlcick?我在想我可以创建一个大的case/if语句来弄清楚该怎么做,但也许有一个更简单的方法。

    1 回复  |  直到 13 年前
        1
  •  0
  •   robjmills    15 年前

    这完全取决于Ajax调用的结构。我做了类似的事情,在标签导航中打开正确的标签。代码将像这样开始,如果您让我看看您的Ajax事件是如何连接起来的,那么我应该能够向您展示其余的内容。

    document.observe("dom:loaded", function() {
        if(window.location.hash){
          var report = window.location.hash.replace("#","");  
        }
    });
    

    编辑

    看看你的代码,你最好是切换到一个不引人注目的方法,在那里你将事件附加到你的元素,例如。

    $('ele').observe('click',doStuff.bindAsEventListener($('ele')));
    

    这将使您能够更容易地将相同的功能连接到单击或页面加载,但无论如何也是更好的做法,并且可以防止代码重复等。显然,这缺少大的块,但希望您能理解我的意思。