2011-10-05 3 views
0

웹 응용 프로그램을 포함하여 iframe이있는 웹 사이트가 있습니다. 애플리케이션의 높이가 1000px라고 가정 해 봅시다. 애플리케이션 하단 (1000px)에는 버튼이 있습니다. 사용자가 버튼을 누르면 응용 프로그램의보기가 변경되고 새로운 길이는 20px (분노 20px ~ 1000px는 흰색 (빈 페이지))입니다.iframe에서 페이지 상단으로 스크롤 (gwt 응용 프로그램 포함)

내 목표는 누군가가 해당 버튼을 누르면 브라우저가 페이지를 맨 위로 스크롤해야한다는 것입니다 (스크롤이 iframe 외부에서 발생 함을 의미합니다.) 아무도 해결책을 알지 못하는 경우 gwt에서) iframe을 잡고 페이지에 고정?

사전에

많은 들으!

답변

1

마지막으로 해결책을 찾았습니다. 당신은 iframe 앵커의 상단에 설정하고 그것을 호출 또한 앵커로 이동하기 위해 부모 창 (iframe이를 들고 창) 강제

public static native void scrollToTop() /*-{ 

    $wnd.location.href = '#anchorName'; 

}-*/; 

이.

+0

이 기능을 확장 할 수 있습니까? 호출하고 어디에서 호출해야합니까? – Induster

+0

앵커 호출을 수행하는 클래스에 해당 함수를 넣을 수 있습니다. 크로스 사이트 조작을 피하기 위해 제안합니다. 모든 브라우저가이를 지원하지는 않으며 앞으로는 보이지 않습니다. 지원 될 것입니다. 사용 방법 예 : https://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsJSNI – mkn

0

Scrolling with javascript

대부분의 사람들은 당신이 모든 가능한 경우를 사용하지 않아야하지만 여러 가지 이유로 iframe을 싫어.

+0

나는 그것을 할 수 있으면 좋겠다. :) 다른 회사에서 귀하의 작은 응용 프로그램을 iframe에 포함 시키면 주변에 아무 방법도 없습니다. – mkn

0

상위 또는 상위 창에서 JSNI를 사용하고 스크롤하는 방법은 어떻습니까? 다음과 같은 내용 :

 
public static native void scrollToTop() /*-{ 
    $wnd.parent.scrollTo(0,0); // or `$wnd.top.scrollTo(0,0); 
}-*/; 

위와의 조합은 "창"으로도 작동해야합니다. $ wnd는 GWT가 실제로 포함 된 iframe에서 실행되기 때문입니다. 그러나 다른 서버에서 올 경우 상위 문서를 스크롤 할 수 있도록 허용할지 여부는 확실하지 않습니다.

+0

두 가지 제안 된 해결책이 저에게 효과적이지 않습니다 :( – mkn

0

iframe을 보유한 페이지의 div id로 스크롤하는 자바 스크립트 기능을 호출하는 방법은 무엇입니까? 그게 가능하니?

관련 문제