@font-face { font-family: 'ElegantIcons'; src:url('../src_main/fonts/ElegantIcons.eot'); src:url('../src_main/fonts/ElegantIcons.ttf') format('truetype'),url('../src_main/fonts/ElegantIcons.svg#ElegantIcons') format('svg'),url('../src_main/fonts/ElegantIcons.woff') format('woff'),url('../src_main/fonts/ElegantIcons.eot?#iefix') format('embedded-opentype'); font-weight: normal; font-style: normal; }
当我访问网页时,字体不起作用,在控制台中我得到:
downloadable font: download failed (font-family: "ElegantIcons" style:normal weight:normal stretch:normal src index:1): status=2147500037 source: file:///...snipped.../src_main/fonts/ElegantIcons.woff @ file:///...snipped.../src_poke/fonts-style.css
通过将URL复制/粘贴到浏览器地址栏来访问该文件,可以看出这是正确的URL,因为我可以下载该字体.
解决方法
I believe this is working as designed. AIUI,the issue here is that
for a page loaded from a file:// URI,only files in (or below) the
same directory of the filesystem are considered to be “same origin”,
and so putting the font in a different subtree (../font/) means it
will be blocked by security policy restrictions.You can relax this by setting security.fileuri.strict_origin_policy to
false in about:config,but as this gives the page access to your
entire local filesystem,it’s something to be used with caution.
总而言之,“修复”而不重新安排文件:
打开关于:config
>将security.fileuri.strict_origin_policy设置为false
>谨防安全隐患
然而,最好的方法是确保任何资源都可以访问,而无需先备份文件系统.
注意:原始策略是基于html而不是css文件计算的!所以除了一个css文件之外的字体文件可能不起作用,这很令人困惑. (至少这是我以为Firefox的情况!)
跟进:
根除者评论:
It’s the other way around: relative paths are 07001.
chrylis回应:
You’d think that,but the actual code in Firefox doesn’t seem to agree.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。