javascript - 如何解决 Google Chrome 中的 Roboto 字体加载问题?

标签 javascript html css

我正在尝试呈现我的网站,我在 Google Chrome 中花费了很多时间,但在 Mozilla 中运行完美。控制台显示错误

GET file://fonts.googleapis.com/css?family=RobotoDraft:300,400,500,700,400italic net::ERR_FILE_NOT_FOUND

我尝试在 CSS 和 HTML 中直接导入:

@import url(http://fonts.googleapis.com/css?family=Roboto:400,400italic,500,500italic,700,700italic,900,900italic,300italic,300,100italic,100);

body {
   font-family: 'Roboto', sans-serif;
}

但是还是不行,还是报同样的错误。

这是我网站的完整 HTML 代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"> </meta>
        <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"></meta>
        <title>Sign in</title>
        <style>
            @import url('https://fonts.googleapis.com/css?family=Roboto&display=swap');
        </style>
        <!-- JQuery Mobile -->
        <link rel="stylesheet" href="./jquery/jquery.mobile-1.4.5.css"></link>
        <!-- Project CSS -->
        <link rel="stylesheet" href="./css/style.css"></link>
        <!-- NativeDroid2 CSS -->
        <link rel="stylesheet" href="./bower_components/nativeDroid2/css/nativedroid2.css"></link>
    </head>
    <body>
        <div data-role="main" class="ui-content">
            <form method="post">
                <div class="img-container">
                    <img src="img/logo_gemott.png" alt="No es pot carregar la imatge" height="110" width="350">
                </div>

                <div>
                    <h2>Registre</h2>
                    <hr>
                    <label for="mail"><b>Correu electrònic</b></label>
                    <input type="text" placeholder="Introduir correu electrònic..." name="mail" required>
                    <label for="psw"><b>Contrasenya</b></label>
                    <input type="password" placeholder="Introduir contrasenya..." name="psw" required>
                    <div class="center-text">
                        <p>Al registrar-te, acceptes els <a href=#>termes de privacitat</a></p>
                        <p>Ja estàs <a href="login.html">registrat?</a></p>
                    </div>
                </div>

                <a href="javascript:registry()" class="ui-btn ui-btn-raised clr-primary">Registrar-me</a>

                <div class="img-container" id="uab-logo">
                    <img src="img/UAB.jpg" alt="No es pot carrerar la imatge" height="150" witdh="150">
                </div>
            </form>
        </div>
        <!-- JQuery -->
        <script type="text/javascript" src="jquery/jquery-2.2.4.js"></script>
        <!-- Project Js -->
        <script type="text/javascript" src="js/app.js"></script>
        <!-- JQuery Mobile -->
        <script type="text/javascript" src="jquery/jquery.mobile-1.4.5.min.js"></script>
        <!-- NativeDroid2 Js -->
        <script type="text/javascript" src="bower_components/Waves/dist/waves.js"></script>
        <script type="text/javascript" src="bower_components/nativeDroid2/nd2settings.js"></script>
        <script type="text/javascript" src="bower_components/nativeDroid2/js/nativedroid2.js"></script>
    </body>
</html>

最佳答案

导入 Google 字体的标准方法是放置 link head 中的标签HTML 部分:

<link href="https://fonts.googleapis.com/css?family=Roboto&display=swap" rel="stylesheet">

至少在过去,使用@import当包含较大的文件(字体文件非常大)时会出现问题,因为浏览器会在继续呈现页面之前等待文件下载。

您的描述给人的印象是 Firefox 改进了一些东西,但 Chrome 却没有。

所以我建议您包括 link在您的 HTML 文件的 head 中标记, 删除 style标记并删除以 @import 开头的行来自你的 CSS。

由于 OP 报告了一条错误消息,我附上一个简短的示例:

<html>
    <head>
        <link href="https://fonts.googleapis.com/css?family=Roboto&display=swap" rel="stylesheet">
        <style>
            body {
                font-family:'Roboto'
            }
        </style>
    </head>

    <body>
        <h1>Test</h1>
    </body>
</html>

关于javascript - 如何解决 Google Chrome 中的 Roboto 字体加载问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56313201/

相关文章:

html - CSS 阻止 div 高度超出视口(viewport)+滚动时使 topnav 保持不变

html - Tumblr 背景附件 : absolute; showing as invalid property value

javascript - 永远不会调用异步函数的回调

javascript - 当用户通过jquery在文本框中输入时,如何自动添加字符串 "http://'

javascript - 当用户打开一个下拉菜单时关闭其他下拉菜单

javascript - 除非连接插件,否则 jQuery 代码无法工作?

javascript - 目前富文本文本区域编辑器的王者是什么?

javascript - insideHTML 在 setInterval 上不改变

javascript - c3 检测悬停在栏上

javascript - 允许在使用 jQuery 循环时切换元素