Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 确定是否已加载Google web字体_Javascript_Jquery_Fonts_Google Webfonts - Fatal编程技术网

Javascript 确定是否已加载Google web字体

Javascript 确定是否已加载Google web字体,javascript,jquery,fonts,google-webfonts,Javascript,Jquery,Fonts,Google Webfonts,我正在建立一个网站,为用户提供应用于文本的字体选择。我正在使用谷歌的网页字体。目前,当他们通过下拉菜单选择字体时,我使用的是: $("head").append("<link href='https://fonts.googleapis.com/css?family=" + FontName + "' rel='stylesheet' type='text/css'>"); $(“head”)。追加(“”); 这很有效。我的问题是: 如果用户多次选择同一字体(在同一会话中)

我正在建立一个网站,为用户提供应用于文本的字体选择。我正在使用谷歌的网页字体。目前,当他们通过下拉菜单选择字体时,我使用的是:

 $("head").append("<link href='https://fonts.googleapis.com/css?family=" + FontName + "' rel='stylesheet' type='text/css'>");
$(“head”)。追加(“”);
这很有效。我的问题是:

  • 如果用户多次选择同一字体(在同一会话中) 那个字体加载两次了吗
  • 如果是的话,有没有办法确定字体X是否已经被删除 是否已加载,以便不重新加载

有相当多的字体,我不想在选中时将它们全部预加载。

字体应该由浏览器缓存,请参见字体应该由浏览器缓存,请参见用户浏览器应该缓存字体,而无需您做任何额外的操作

由于字体位于google的服务器中,缓存协商在google和您的用户之间进行。换句话说,你甚至无法控制它


因此,在第二次添加相同内容时,不应导致用户浏览器再次加载它。当然,除非用户已禁用浏览器上的缓存。

用户的浏览器应缓存字体,而无需您做任何额外的操作

由于字体位于google的服务器中,缓存协商在google和您的用户之间进行。换句话说,你甚至无法控制它

因此,在第二次添加相同内容时,不应导致用户浏览器再次加载它。当然,除非用户禁用了浏览器上的缓存