当站点使用内容策略安全时,如何在Firefox插件中使用字体
How to use font face in Firefox ad-on when the site uses Content Policy Security?
我开发了一个允许用户修改网站风格的Firefox插件。他可以选择使用扩展的字体。
Content Policy Security指定它不应该干扰用户安装的浏览器附加组件或扩展的操作:https://en.wikipedia.org/wiki/Content_Security_Policy Browser_add-ons_and_extensions_exemption
当网站使用内容安全策略的"font-src"指令不允许跨域字体时,它不起作用。我尝试通过以下方法在插件的内容脚本中注入css:
var l = document.createElement('LINK');
l.rel = "stylesheet";
l.type = "text/css";
l.href = 'fontface.css';
this.head.appendChild(l);
或者用这种方法:
s = '@font-face {
font-family: 'customfont';
src: url(data:application/x-font-ttf;charset=utf-8;base64, ... ) format('truetype');
}';
newStyle = document.createElement("style");
newStyle.setAttribute("type", "text/css");
newStyle.appendChild(document.createTextNode(s));
document.getElementsByTagName('head')[0].appendChild(newStyle);
在这两个方法中,我在firebug中有错误:"downloadable font: download not allowed ({css code})"
是否有可能使用自定义字体面对Firefox插件时,网站有CSP指令font-src ?怎么做呢?
尝试在包含文件的路径上的chrome.manifest
文件中设置contentaccessible=true
,除非它是base64,否则我不确定:https://gist.github.com/Noitidart/9406437#file-chrome-manifest-L1
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 为什么这在IE中的工作方式与在Firefox中不同
- 用Javascript更改我网站上的字体大小
- JS可以在Chrome中工作,但不能在Firefox中工作
- createElement("a") - FireFox JavaScript
- 不同字体的字母间距不同
- 为什么javascript:void(0)在Firefox中不起作用
- 如何在谷歌字体加载时显示加载图像
- Facebook登录按钮没有'不能在Firefox上工作
- 无法将字体系列设置为“”;Arial黑色”;通过Firefox中的JavaScript
- Firefox和Chrome的字体高度不同
- Div 中的文本/字体大小在 Firefox 的打印模式下与在“正常”模式下不同
- 获取字体css属性在IE和Firefox中使用jQuery不起作用
- 字体在Safari上出现了很棒的链接问题,适用于Chrome和Firefox
- DOMContentLoaded是否等待网页字体(Firefox)
- Firefox无法识别字体
- Chrome和谷歌网页字体的问题.显示来自Firefox的不同输出
- 当站点使用内容策略安全时,如何在Firefox插件中使用字体
- 获取Firefox扩展中的字体列表
- 如何在IE, Firefox和Chrome中使用谷歌网页字体