2009-12-02 7 views
0

ajax 호출을 통해 생성 된 여러 보고서가 포함 된 페이지가 있습니다. 일부 디스플레이 기능을 위해이 페이지에서 prototype.js 프레임 워크입니다.페이지로드에서 jax 탐색을 수행하려면 어떻게해야합니까?

각 보고서에 대한 링크에는 # Report1, # Report2 등 앵커/태그가 있으며, 이는 자바 스크립트를 통해 보고서를 작성하는 많은 작업을 수행하는 onClick 함수가있는 href입니다.

사용자가 링크가있는 페이지를 북마크하거나 내 페이지의 URL에있는 앵커/링크로 직접 이동하여 보고서를로드하는 경우이를 작성하고 싶습니다.

그러면 사용자가 http://mysite/myPage.jsp#Report2으로 이동하면 페이지가로드되고 2 차 보고서로 이동해야합니다.

내 사이트로드에 어쨌든 앵커/링크를보고 해당 앵커에 대한 onlcick을 수행 할 수 있습니까? 나는 무엇을해야 할지를 결정하기 위해 커다란 case/if 문을 만들 수 있다고 생각했지만, 더 쉬운 방법이있을 수 있습니다.

+0

내 호출은 이와 비슷합니다.이 예제에서는 보고서를 "플랫폼"이라고합니다. 이 경우 대부분의 작업은 showFirstSubPlatform 메소드에서 수행됩니다. 나는 이것을 리펙토링 할 수 있으며, 이것을 모두 하나의 js 함수로 옮기거나 함수 이름을 변경할 수있다. Platform Joelio

답변

0

모두 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에 동일한 기능을 연결할 수 있도록하지만, 어쨌든 또한 더 나은 연습과 분명히이 큰 덩어리가 누락 코드 중복 등을 방지 할 수 있지만 잘하면 당신은 내가 무슨 뜻인지 얻을 것

관련 문제