간단하게 말하자면, 나중에 WebView에 표시된 html 파일에 현재 위치 (아마도 여러 위치)를 북마크하고 싶습니다. 작은 힌트가 도움이 될 것입니다. :)WebView에서 문서 위치를 얻으시겠습니까?
답변
"현재 위치"는 주어진 페이지 어딘가에있는 지점을 의미하는 경우 Java가 순전히 가능하지는 않다는 점을 믿을 수 없습니다. Java에 노출 된 전체 WebKit API에는 페이지 내용을 다루는 것이 거의 없습니다.
당신은 페이지의 콘텐츠를 제어 할 수 및 페이지 내 자바 스크립트를 통해 이러한 위치를 알 수있는 방법이 있다면, 당신은 할 수 :
이단계 # 1 : WebView#addJavascriptInterface()
이 recordPosition()
방법의 일종으로 개체를 추가 할 수 적절한 위치에 정보 저장
2 단계 : 삽입 된 개체에 recordPosition()
을 호출하는 Javascript 함수를 만듭니다. 다음
및
중 하나단계 # 3a를 트리거 자바 스크립트 자체에서 자바 스크립트 기능 (예를 들어, 클릭 기준), 또는
단계 #의 (b)는 것을 : ...
이 당신의 WebView
에 loadUrl("javascript:...");
전화 2 단계에서 Javascript 기능을 실행하기 위해 Javascript 코드로 대체되었습니다.
이러한 위치를 복원하는 것은 거의 동일한 방식으로 작동해야합니다. Javascript가 Java 코드에 의해 트리거 된 실제 복원을 수행하게하십시오.
브라우저의 코더가 많지 않으므로 자바 스크립트에서 원하는 항목 (현재 위치 가져 오기/설정)을 사용할 수 있는지는 알 수 없습니다. onSaveInstanceState()
방법에서
, 페이지 아래로 사용자가 스크롤했다 얼마나 멀리 계산 다음과 같이 내가했다
접근 방법이었다.
int contentHeight = webView.getContentHeight();
int scrollY = webView.getScrollY();
float scrollPercent = ((float) scrollY/((float) contentHeight));
묶음으로 숨 깁니다. onCreate()
방식에서 페이지를 복원 할 때, 페이지 (WebClient.onPageFinished()
에)로드 완료 될 때까지 기록 된 위치로 이동 기다려하십시오 float
사용
int contentHeight = webView.getContentHeight();
int y = (int) ((float) contentHeight * scrollPercent);
webView.scrollTo(0, y);
- 및 비율을 계산하는 단계 사이에서 튀기는 경우 작동 풍경과 초상화.
- 충분히 작동 일 수 있지만 이 아닌 이미지는 자동 크기 조정 이미지와 섞여있을 때 완벽하게이됩니다.
- 스케일도 고려 될 수 있습니다. 나는 페이지를로드하기 전에
onPause()
방법의 기본 설정에서 저울을 숨기려하고, 그 다음에webView.setInitialScale(scale)
을 붙이는 경향이 있습니다. - 나는
scrollPercent > 0
이 더 좋을 때 웹보기를 보이지 않게 설정하는 것을 발견했습니다.
- 1. Xna - 창 위치를 얻으시겠습니까?
- 2. Google 캘린더를 사용하여 위치를 얻으시겠습니까?
- 3. 바탕 화면 아이콘의 위치를 얻으시겠습니까?
- 4. pdf 문서에서 문서 벡터 수를 얻으시겠습니까?
- 5. 웹 페이지에서 Flex 앱의 위치를 얻으시겠습니까?
- 6. XPATH를 사용하여 특정 XML 노드의 위치를 얻으시겠습니까?
- 7. 문서 디렉토리의 webview에서 이미지를 html로 표시합니다.
- 8. Javascript를 사용하여 문서 인쇄물에서 파일 위치를 제거하십시오.
- 9. 문서 외부에서 마우스 위치를 잡을 수 있습니까?
- 10. CouchDB-Python을 사용하여 문서 수준의 전체 버전 목록을 얻으시겠습니까?
- 11. WebView에서 이미지보기
- 12. WebView에서 확대/축소 컨트롤을 센터링하는 방법
- 13. Webview에서 스크롤하기 (Progmatically)
- 14. JQuery는 실제로 WebView에서 작동합니까?
- 15. 프로그래밍 방식으로 WebView에서 로그인
- 16. WebView에서 애셋을 올바르게로드하지 않습니다.
- 17. 내 webView에서 html 변경
- 18. android 용 webview에서 geolocation
- 19. WebView에서 longClick 사용
- 20. webview에서 strings.xml의 값을 사용합니다.
- 21. Webview에서 시간 제한 처리하기
- 22. onLongClickListener가 WebView에서 작동하지 않습니다.
- 23. webview에서 접촉 감지
- 24. webView에서 텍스트 색상 변경
- 25. webview에서 사용자 정의 폴더로 파일 다운로드
- 26. JFrame : 테두리없이 크기를 얻으시겠습니까?
- 27. 친구 클래스 정보를 얻으시겠습니까?
- 28. 파이썬 : URL을 얻으시겠습니까?
- 29. 스캔 결과를 얻으시겠습니까?
- 30. paypal에서 자세한 정보를 얻으시겠습니까?
놀라운 대답! 고마워. 관련 질문 : http://stackoverflow.com/questions/1091048/alternatives-to-window-scrollmaxy – yanchenko