15

मेरे ऐप में, मैं एक WebView में या तो एक CustomTabsIntent या एक में एक बाहरी HTML साइट दिखाने:Android ब्राउज़र https कटौती: // पूरा क्वालीफायर से योजना

if (customTabsIntent != null) customTabsIntent.launchUrl(this, Uri.parse("http://some.where.com/site.html")); 
else startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://some.where.com/site.html"))); 

लेकिन जो HTML की शैली पहले से ही है अपडेट किया गया, लेकिन मेरा स्मार्टफोन पुरानी शैली (पुराने फोंट इत्यादि) दिखाता है।

* .html फ़ाइल में एक * .css संदर्भित है:

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <link href='https://my.site.com/assets/css/style.css' rel='stylesheet' type='text/css'> 
</head> 

और वह * .css फ़ाइल में, वहाँ एक व्यक्ति संदर्भित फ़ॉन्ट है; उदा .:

@font-face { 
    font-family: 'MyFontRegular'; 
    src: url('https://www.openfont.org/assets/mail/fonts/MyFontWeb-Regular.woff') format('woff'), 
    url('https://www.openfont.org/assets/mail/fonts/MyFontWeb-Regular.eot') format('embedded-opentype'); 
} 

जैसा कि मैंने कहा, मेरे स्मार्टफोन क्योंकि यह कटौती http, संदर्भित फोंट प्रदर्शित नहीं करता है में क्रोम ब्राउज़र: // या https: // बंद। जब मैं उस योजना को मैन्युअल रूप से पता बार में प्रस्तुत करता हूं, तो उचित शैली दिखायी जा रही है।

मैं अपने एंड्रॉइड ब्राउज़र से पता फ़ील्ड में https: // योजना को कैसे लागू कर सकता हूं, जब इसे मेरे एंड्रॉइड ऐप से बुलाया गया था?

+1

ठीक है मुझे पता चला है कि यह https://some.where.com/site.html होना चाहिए। ब्राउज़र कुछ .where.com/site.html (https: // के बिना) के साथ खोला गया है। जब मैं पता बार में मैन्युअल रूप से "https: //" जोड़ता हूं, तो यह पूरी तरह से काम करता है –

+0

क्या आप अपने वेबव्यू कार्यान्वयन के लिए कोड पोस्ट कर सकते हैं? यदि आप यही उपयोग कर रहे हैं? – Destry

उत्तर

2

यह कैश हो सकता है। यदि आपके पास एचटीएमएल साइट पर नियंत्रण है, तो इसमें शामिल करें:

<link href='https://my.site.com/assets/css/style.css?something=132545' rel='stylesheet' type='text/css'> 

उसके बाद, इसे फ़ोन पर आज़माएं। यदि कैश साफ़ हो जाता है और नई सीएसएस फ़ाइल खींचता है, तो नंबर को यादृच्छिक जेनरेट नंबर पर बदलें।

यह प्रत्येक बार "कुछ" परिवर्तनीय परिवर्तनों को फ़ाइल लोड करेगा। यदि आप उन स्टाइल अपडेट को अक्सर नहीं करते हैं, तो इसे एक निश्चित संख्या बनाएं, और प्रत्येक बार जब आप सीएसएस फ़ाइल अपडेट करते हैं तो इसे बढ़ते रहें।

फोंट https के साथ भरी हुई नहीं किया जा रहा पर अपनी जानकारी को हल समस्या के बाद, आप onReceivedSslError ओवरराइड करने के लिए कोशिश कर सकते हैं और यह देखें:

@Override 
    public void onReceivedSslError(WebView view, SslErrorHandler handler, 
      SslError error) { 
     handler.proceed(); 
    } 

सावधान रहें, यह पूरी तरह से ssl सत्यापन अक्षम कर देता है ... it' एक खतरनाक मार्ग।

+0

यह कैश समस्या नहीं है। –

+0

क्या आपने सुझाए गए एसएसएल सत्यापन को अक्षम करने का प्रयास किया है? –

संबंधित मुद्दे