javascript - 使用通过 API 接收的字体定义作为前端的字符串

标签 javascript php jquery html css

<分区>

我通过 API 获取自定义字体作为下面给出的字符串,

"@font-face {
  font - family: 'Custom Font Name';
  src: url('https://base_url/fonts/pGdyQlal_QW0WERKk_405638ad.eot');
  src: url('https://base_url/fonts/pGdyQlal_QW0WERKk_405638ad.eot?#iefix') format('embedded-opentype'),
  url('https://base_url/fonts/pGdyQlal_QW0WERKk_405638ad.ttf') format('opentype'),
  url('https://base_url/fonts/pGdyQlal_QW0WERKk_405638ad.woff') format('woff');
  font - weight: normal;
  font - style: normal;
}
"

我需要将此字体系列定义放在 php/html 文件的样式标记中或写入/附加到现有 CSS 文件中,以便我可以使用自定义字体名称作为字体系列属性的值。 我必须填充选择下拉列表以选择 API 中收到的这些自定义字体。 我正在使用 Javascript、jQuery 编写脚本。

请指导出路,因为收到的是一个字符串,没有被识别为 css。

最佳答案

样式表注入(inject)?

这应该可以做到。创建样式表并将其 innerHTML 设置为您的 CSS 字符串。享受吧!

function injectCSS( str ) {
    const style = document.createElement( 'style' );
    style.innerHTML = str;
    document.body.appendChild( style );
}

injectCSS( cssStr );

const cssStr = `@font-face {
  font - family: 'Custom Font Name';
  src: url('https://base_url/fonts/pGdyQlal_QW0WERKk_405638ad.eot');
  src: url('https://base_url/fonts/pGdyQlal_QW0WERKk_405638ad.eot?#iefix') format('embedded-opentype'),
  url('https://base_url/fonts/pGdyQlal_QW0WERKk_405638ad.ttf') format('opentype'),
  url('https://base_url/fonts/pGdyQlal_QW0WERKk_405638ad.woff') format('woff');
  font - weight: normal;
  font - style: normal;
}`;

关于javascript - 使用通过 API 接收的字体定义作为前端的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56784423/

相关文章:

javascript - 如何防止在 touchmove 和 mousemove 期间重定向 href?

Javascript - 月年范围自动在选择列表上

php - 在 PHP 页面上显示 MySql 数据库中的日文字符

anchor - 如何在点击时执行一个页面的javascript以触发另一页面上的点击事件?

javascript - 最小值不起作用

javascript - AngularJS + Google map (多个标记)

php - Cakephp 中的联接查询缺少结果

php - Docker CodeIgniter 路由重定向到 Docker IP

jQuery : Set value of datalist?

javascript - 如何从 javascript 验证上传的照片不大于 1MB