इसे आसान बनाने के लिए: मैं बाद में को पुनर्स्थापित करने के लिए वेबव्यू में प्रदर्शित एक HTML फ़ाइल में वर्तमान स्थिति (शायद कई स्थितियों) को बुकमार्क करना चाहता हूं। कोई भी छोटा संकेत मदद करेगा। :)वेबव्यू में दस्तावेज़ स्थिति प्राप्त करना?
उत्तर
यदि किसी दिए गए पृष्ठ में कहीं भी "वर्तमान स्थिति" का मतलब है, तो मुझे विश्वास नहीं है कि संभव है ... कम से कम जावा से पूरी तरह से नहीं। जावा के संपर्क में आने वाले पूरे वेबकिट एपीआई में कुछ भी नहीं है जो पृष्ठों की सामग्री से संबंधित है।
आप पेज की सामग्री पर नियंत्रण है, और वहाँ एक रास्ता के माध्यम से इन-पेज जावास्क्रिप्ट इन पदों को पता करने के लिए हैं, तो आप कर सकते हैं:
चरण # 1: उपयोग WebView#addJavascriptInterface()
एक वस्तु recordPosition()
विधि के कुछ प्रकार के साथ जोड़ने के लिए , जहां कहीं भी उपयुक्त हो,
चरण # 2: एक जावास्क्रिप्ट फ़ंक्शन बनाएं जो इंजेक्शन ऑब्जेक्ट पर recordPosition()
पर कॉल करता है।
और फिर या तो:
चरण # 3 ए: ट्रिगर है कि जावास्क्रिप्ट से ही जावास्क्रिप्ट समारोह (जैसे, एक क्लिक के आधार पर), या
चरण # 3 बी: loadUrl("javascript:...");
अपने WebView
, जहां ...
है पर कॉल चरण # 2 से जावास्क्रिप्ट फ़ंक्शन को ट्रिगर करने के लिए जावास्क्रिप्ट कोड द्वारा प्रतिस्थापित किया गया।
इन पदों को बहाल करने के लिए भी वैसे ही काम करना होगा: जावास्क्रिप्ट को वास्तविक पुनर्स्थापना करना है, संभवतः जावा कोड द्वारा ट्रिगर किया गया है।
ध्यान दें कि मुझे पता नहीं है कि आप क्या चाहते हैं (वर्तमान स्थिति प्राप्त करें/सेट करें) जावास्क्रिप्ट से उपलब्ध है, क्योंकि मैं एक ब्राउज़र में कोडर नहीं हूं।
onSaveInstanceState()
विधि में, गणना कितनी दूर पेज नीचे उपयोगकर्ता स्क्रॉल किया था:
दृष्टिकोण मैं ले लिया इस प्रकार थी।
int contentHeight = webView.getContentHeight();
int scrollY = webView.getScrollY();
float scrollPercent = ((float) scrollY/((float) contentHeight));
बंडल में छेड़छाड़ करें। जब onCreate()
विधि में पेज को बहाल करने, पेज लोड हो रहा है खत्म करने के लिए के लिए (WebClient.onPageFinished()
में) प्रतीक्षा करें, दर्ज की स्थिति के लिए स्क्रॉल:
int contentHeight = webView.getContentHeight();
int y = (int) ((float) contentHeight * scrollPercent);
webView.scrollTo(0, y);
- एक
float
का उपयोग करना और एक अनुपात की गणना के बीच flipping के मामले में काम करता है परिदृश्य और चित्र। - काम कर सकते हैं अच्छी तरह से लेकिन पूरी तरह से जब ऑटोरेज़िंग छवियों के साथ मिश्रित हो।
- स्केल को भी ध्यान में रखा जा सकता है। मैं पृष्ठ को लोड करना शुरू करने से पहले
onPause()
विधि में औरwebView.setInitialScale(scale)
में वरीयता में स्केल को रोकता हूं। - मुझे पता चला है कि
scrollPercent > 0
बेहतर दिखने पर वेब दृश्य को अदृश्य में सेट करना है।
- 1. ऑब्जेक्ट स्थिति प्राप्त करना
- 2. जावा में मेरा दस्तावेज़ पथ प्राप्त करना
- 3. कीबोर्ड ईवेंट में माउस स्थिति प्राप्त करना
- 4. टेक्स्टरेरा में कर्सर की स्थिति प्राप्त करना
- 5. XmlReader से वर्तमान स्थिति प्राप्त करना
- 6. आइसक्रीम सैंडविच पर वेबव्यू में त्रुटि प्राप्त करना
- 7. एक्सएमएल दस्तावेज़ का डीओएम पेड़ प्राप्त करना
- 8. वर्ड दस्तावेज़ से शीर्षलेख प्राप्त करना
- 9. डब्ल्यूपीएफ दस्तावेज़: टेबल सेल सीमाएं प्राप्त करना
- 10. वेबव्यू की बचत स्थिति और एंड्रॉइड
- 11. एचटीएमएल दस्तावेज़ में चयनित स्थिति में कोई तत्व कैसे डालें?
- 12. आईफोन पर UITextView में कर्सर की स्थिति प्राप्त करना?
- 13. जावास्क्रिप्ट 'संतुष्ट' - कैरेट स्थिति प्राप्त करना/सेट करना
- 14. वेबव्यू में टेक्स्ट का चयन करना?
- 15. क्रॉस ब्राउज़र दस्तावेज़ की स्थिति की तुलना
- 16. दस्तावेज़ व्यूअर में एक एक्सपीएस दस्तावेज़ प्रदर्शित करना
- 17. HttpClient प्राप्त स्थिति कोड
- 18. वेबव्यू
- 19. JQuery - दस्तावेज़ में वर्तमान स्थिति के लिए "चयनकर्ता"
- 20. वेबव्यू
- 21. अभिविन्यास परिवर्तन पर वेबव्यू सामग्री स्क्रॉल स्थिति बनाए रखें
- 22. ब्राउज़र "दस्तावेज़ मोड" कैसे प्राप्त करें
- 23. जावास्क्रिप्ट में div स्थिति (शीर्ष) प्राप्त करें?
- 24. तत्व की सही स्थिति कैसे प्राप्त करें?
- 25. एंड्रॉयड प्राप्त स्थिति
- 26. हास्केल में वास्तव में/प्राप्त/प्रारंभिक स्थिति कैसे प्राप्त करें?
- 27. दस्तावेज़
- 28. किसी दस्तावेज़ तत्व से दस्तावेज़ ऑब्जेक्ट प्राप्त करें
- 29. एंड्रॉइड वेबव्यू की स्थिति को पुनर्स्थापित/पुनर्स्थापित करें
- 30. एंड्रॉइड वेबव्यू
कमाल का जवाब! बहुत बहुत धन्यवाद। संबंधित प्रश्न: http://stackoverflow.com/questions/1091048/alternatives-to-window-scrollmaxy – yanchenko