1

用 Firefox 看看这里(我有 22.0):

http://www.jamhouse.com.au/

您会看到 video-js 自定义字体不起作用。在 Chrome 中运行良好。

任何想法将不胜感激!

瓦托:)

4

2 回答 2

2

Firefox 有一个非常严格的跨域策略。这包括您网站的子域(甚至 www)。

在您的 css 中,您使用http://jamhouse.com.au/templates/gk_fest/js/html5/font/vjs.XYZ引用字体(注意没有 www.),而在您发布的链接上是http://www .jamhouse.com.au如果您只访问http://jamhouse.com.au ,您的字体就可以使用。

你有几个选择:

推荐用于真正的跨域

在 .htaccess 或 httpd.con 中设置 Access-Control-Allow-Origin

对于 Apache:http ://davidwalsh.name/cdn-fonts

对于 IIS:http ://deserialized.com/iis/serving-web-fonts-cross-domain-with-iis/

- 或者 -

推荐用于您的案例

您可以使用 url(font/vjs.XYZ)... 相对引用字体...因为这将使用您所在的任何域/子域(www 或非 www)

- 或者 -

您可以强制执行http://www.jamhouse.com.auhttp://jamhouse.com.au并使用您选择的任何方式引用字体。

对于 Apache:http ://www.thesitewizard.com/apache/redirect-domain-www-subdomain.shtml

对于 IIS:http ://forums.iis.net/t/1154053.aspx/1

- 或者 -

您可以将字体直接嵌入到 css 中(我选择了我的 video.js 安装)

在 css 中嵌入字体 - http://blog.patdavid.net/2012/08/embedding-fonts-with-css-and-base64.html

在专家模式下,您可以选择 base64 编码。http://www.fontsquirrel.com/tools/webfont-generator(我的编码成功有限,播放三角形(\e001)没有出现。)

在 base64 http://www.motobit.com/util/base64-decoder-encoder.asp中编码文件(确保输出都在一行中

于 2013-08-09T20:03:44.340 回答
0

我已经花了最后 2 个小时解决了您的问题哈哈。好的,我已经设法让它工作了。问题出在您的http://jamhouse.com.au/templates/gk_fest/js/html5/video-js.css

您通过完整路径 url 链接到字体,但必须有某种安全措施,只有 Chrome 允许。如果您使用字体的相对 url,它们将出现。我刚刚通过在本地保存您的页面并更改 css 中的字体链接来尝试这个,现在它可以工作了。试试看。

于 2013-08-09T15:53:55.480 回答