一千萬個為什麽

搜索

如何在pageload上進行ajax導航?

我有一個頁面,其中有幾個報告是通過ajax調用生成的。我是這個頁面上的一些顯示函數的prototype.js框架。

每個報告的鏈接都有錨/標簽,例如#Report1,#Report2等,它們是帶有onClick函數的hrefs,它們通過javascript來創建報表。

我想這樣做,如果用戶通過鏈接為頁面添加書簽或者直接通過我的頁面的url中的錨點/鏈接導航來加載報表。

因此,如果用戶訪問: http://mysite/myPage.jsp#Report2 ,則應加載頁面並轉到第二份報告。

無論如何,在我的頁面載入中,我可以查看錨點/鏈接並為該錨點執行onlcick?我想我可以創建一個大案例/如果聲明來弄清楚該怎麽做,但也許有一個更簡單的方法。

最佳答案

這一切都取決於你如何真正構建Ajax調用。我在標簽導航中打開正確的標簽時做了類似的事情。代碼會像這樣開始,如果你讓我看看你的Ajax事件是如何連接起來的,那麽我應該能夠告訴你其余的。

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

修改

看看你的代碼,你會更好地(imv)切換到一個不顯眼的方法,將事件附加到你的元素,例如

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

這將使您能夠更輕松地將相同的功能連接到單擊或頁面加載,但無論如何也是更好的實踐,並防止代碼重復等。顯然,這是缺少大塊,但希望你明白我的意思

轉載註明原文: 如何在pageload上進行ajax導航?