【问题标题】:How to get HTML code compatibility for old / modern browsers如何获得旧/现代浏览器的 HTML 代码兼容性
【发布时间】:2016-07-25 18:39:07
【问题描述】:

我将 Material Icons 字体与 AngularJS 一起用于 Cordova Android/iOS 应用程序。

问题是,对于某些 Android 4.X 版本,我必须使用“旧”方式来显示图标,如下所示(文档中的代码):

<!-- For modern browsers. -->
<i class="material-icons">arrow_back</i>
<!-- For IE9 or below. -->
<i class="material-icons">&#xE5C4;</i>

所以现在,我想我必须找到我项目中的每个图标,并将图标文本更新为十六进制,但在此之前我有一些问题:

问题:

  • 仅使用旧方式 (&amp;#xE5C4;) 显示图标是否安全(或不好的做法),即使对于现代浏览器也是如此?现代浏览器是否会在几年内放弃这种兼容性?
  • 有没有好的方法(在AngularJS中,如果可能的话,纯JS或HTML)来检测浏览器是否不支持现代方式,然后用一些十六进制替换图标文本(arrow_back -> @ 987654325@)

【问题讨论】:

  • 我不明白为什么浏览器会放弃对&amp;#xE5C4;的支持。
  • 那么使用十六进制是正确的解决方案吗?我以后不会有任何问题吗?
  • 十六进制格式应该没问题。 (您也许还可以测试当前浏览器是否支持现代方式,如果不支持十六进制,但使用十六进制可能更容易。)

标签: javascript android css cordova fonts


【解决方案1】:

当我使用十六进制解决方案时,它可以工作,但是当您阅读 HTML 时会很痛苦,所以我找到了另一个解决方案:通过类名生成图标。

效果很好,所以如果有人遇到同样的问题,我就创建了一个存储库:material-icons-css

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    • 2014-06-13
    相关资源
    最近更新 更多