Javascript 如何在pageload上进行ajax导航?
我有一个页面,其中包含几个通过ajax调用生成的报告。我在这个页面上介绍了prototype.js框架的一些显示功能 每个报表的链接都有锚/标记,如#Report1、#Report2等,这些锚/标记是带有onClick函数的HREF,这些函数通过javascript完成大量创建报表的工作 如果用户使用链接为页面添加书签,或者直接使用url中的锚/链接进行导航,以便我的页面加载报告,我希望这样做 因此,如果用户转到:它应该加载页面并转到第二个报告Javascript 如何在pageload上进行ajax导航?,javascript,ajax,navigation,prototypejs,Javascript,Ajax,Navigation,Prototypejs,我有一个页面,其中包含几个通过ajax调用生成的报告。我在这个页面上介绍了prototype.js框架的一些显示功能 每个报表的链接都有锚/标记,如#Report1、#Report2等,这些锚/标记是带有onClick函数的HREF,这些函数通过javascript完成大量创建报表的工作 如果用户使用链接为页面添加书签,或者直接使用url中的锚/链接进行导航,以便我的页面加载报告,我希望这样做 因此,如果用户转到:它应该加载页面并转到第二个报告 在我的页面加载中,我是否可以查看锚定/链接并对该锚
在我的页面加载中,我是否可以查看锚定/链接并对该锚定执行onlcick?我在想我可以创建一个大型case/if语句来确定该做什么,但也许有一个更简单的方法。这一切都取决于Ajax调用的结构。在选项卡导航中打开正确的选项卡时,我也会执行类似的操作。代码的开头是这样的,如果您让我看看Ajax事件是如何连接的,那么我应该能够向您展示其余的内容
document.observe("dom:loaded", function() {
if(window.location.hash){
var report = window.location.hash.replace("#","");
}
});
编辑
查看您的代码,您最好(imv)切换到一种不引人注目的方法,将事件附加到元素中,例如
$('ele').observe('click',doStuff.bindAsEventListener($('ele')));
这将使您能够更轻松地将相同的功能连接到单击或页面加载,但无论如何也是更好的做法,并将防止代码重复等。显然,这缺少大块,但希望您明白我的意思我的调用是这样的,在本例中,报告称为“平台”。在这种情况下,大部分工作是在showFirstSubPlatform方法中完成的。我可以重构一些东西,或者将所有这些都移动到一个js函数中,或者更改函数名。