Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在pageload上进行ajax导航?_Javascript_Ajax_Navigation_Prototypejs - Fatal编程技术网

Javascript 如何在pageload上进行ajax导航?

Javascript 如何在pageload上进行ajax导航?,javascript,ajax,navigation,prototypejs,Javascript,Ajax,Navigation,Prototypejs,我有一个页面,其中包含几个通过ajax调用生成的报告。我在这个页面上介绍了prototype.js框架的一些显示功能 每个报表的链接都有锚/标记,如#Report1、#Report2等,这些锚/标记是带有onClick函数的HREF,这些函数通过javascript完成大量创建报表的工作 如果用户使用链接为页面添加书签,或者直接使用url中的锚/链接进行导航,以便我的页面加载报告,我希望这样做 因此,如果用户转到:它应该加载页面并转到第二个报告 在我的页面加载中,我是否可以查看锚定/链接并对该锚

我有一个页面,其中包含几个通过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函数中,或者更改函数名。