15

, 나는이 웹보기에 CustomTabsIntent 또는 하나의 외부 HTML 사이트를 보여안드로이드 브라우저는 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이어야합니다. 브라우저는 some.where.com/site.html (https : //없이)으로 열립니다. 주소 표시 줄에 "https : //"를 수동으로 추가하면 완벽하게 작동합니다. –

+0

WebView 구현 코드를 게시 할 수 있습니까? 그것이 당신이 사용하고있는 것이라면? – Destry

답변

2

캐시 일 수 있습니다. 당신이 HTML 사이트를 제어 할 경우,이 같은에 포함 변경 : 그 후

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

, 전화를 시도합니다. 캐시가 지워지고 새 css 파일을 가져 오는 경우 번호를 임의로 생성 된 번호로 변경하십시오.

"something"변수가 변경 될 때마다 파일을로드합니다. 스타일 업데이트를 자주 수행하지 않는 경우 고정 번호로 설정하고 CSS 파일을 업데이트 할 때마다 계속 업데이트하십시오.

문제, 당신은 onReceivedSslError을 무시하려고하고 그것을 볼 수 있었다 https로로드되지 않는 글꼴에 대한 정보를 해결 다음은

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

조심이이 완전히 it' ... SSL 유효성 검사를 비활성화 위험한 길.

+0

캐시 문제가 아닙니다. –

+0

제안 된대로 ssl 유효성 검사를 비활성화 해 보셨습니까? –