首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android浏览器从完整限定符中删除https:// from

问Android浏览器从完整限定符中删除https:// from
EN

Stack Overflow用户
提问于 2017-04-20 14:02:29
回答 1查看 548关注 0票数 15

在我的应用程序中,我在CustomTabsIntent或WebView中显示了一个外部HTML站点:

代码语言:javascript
复制
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:

代码语言:javascript
复制
<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文件中,引用了一个单独的字体;例如:

代码语言:javascript
复制
@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');
}

正如我说过的,我的智能手机中的chrome浏览器不显示引用的字体,因为它切断了http://或https://。当我手动将该方案添加到地址栏中时,将显示正确的样式。

如何强制我的android浏览器中的address字段中的https:// when,当它从我的android应用程序?中调用时

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-24 13:45:43

可能是缓存。如果您对html站点有控制权,请将包含更改为如下所示:

代码语言:javascript
复制
<link href='https://my.site.com/assets/css/style.css?something=132545' rel='stylesheet' type='text/css'>

在那之后,在电话上试试。如果缓存清除并提取新的css文件,则将该数字更改为随机生成的数字。

每次“某某”变量发生变化时,它都会加载该文件。如果不经常执行这些样式更新,则将其设置为固定数量,并在每次更新css文件时不断增加。

按照有关未加载https的字体的信息,您可以尝试重写onReceivedSslError并看到它解决了问题:

代码语言:javascript
复制
    @Override
    public void onReceivedSslError(WebView view, SslErrorHandler handler,
            SslError error) {
        handler.proceed();
    }

小心,这完全禁止ssl验证..。这是一条危险的路线。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43521768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档