load-font-face.uvue 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <template>
  2. <page-head title="loadFontFace"></page-head>
  3. <view class="uni-padding-wrap">
  4. <text class="font-size-20">全局加载字体:</text>
  5. <text class="font-size-20 line-height-40" style="font-family: UniFontFamily">font-family: uni.ttf</text>
  6. <view style="flex-direction: row;">
  7. <!-- 微信小程序只支持加载网络字体 -->
  8. <!-- #ifdef MP-WEIXIN -->
  9. <text class="font-size-20" style="font-family: UniFontFamily2;">{{uniIcon3}}</text>
  10. <text class="icon-text">\ue102</text>
  11. <!-- #endif -->
  12. <!-- #ifndef MP-WEIXIN -->
  13. <text class="font-size-20" style="font-family: UniFontFamily;">{{uniIcon1}}</text>
  14. <text class="icon-text">\ue100</text>
  15. <text class="font-size-20" style="font-family: UniFontFamily;">{{uniIcon2}}</text>
  16. <text style="margin-left:5px;line-height:22px;">\ue101</text>
  17. <!-- #endif -->
  18. </view>
  19. <!-- #ifndef APP-HARMONY -->
  20. <text class="uni-common-mt font-size-20">非全局加载字体:</text>
  21. <!-- #endif -->
  22. <text class="font-size-20 line-height-40">font-family: uni.ttf(base64格式)</text>
  23. <view style="flex-direction: row;">
  24. <text class="font-size-20" style="font-family: UniFontFamily2;">{{uniIcon3}}</text>
  25. <text class="icon-text">\ue102</text>
  26. </view>
  27. <text class="font-size-20 line-height-40" style="font-family: AlimamaDaoLiTiTTF">font-family: 阿里妈妈刀隶体-ttf
  28. (网络字体下载后生效)</text>
  29. <text class="font-size-20 line-height-40" style="font-family: AlimamaDaoLiTiOTF">font-family:
  30. 阿里妈妈刀隶体-otf</text>
  31. <text class="item" style="font-family: AlimamaDaoLiTiWOFF">font-family: 阿里妈妈刀隶体-woff</text>
  32. <text class="item" style="font-family: AlimamaDaoLiTiWOFF2">font-family: 阿里妈妈刀隶体-woff2</text>
  33. <button class="uni-btn" @click="navigateToChild">跳转子页面测试字体生效范围</button>
  34. </view>
  35. </template>
  36. <script>
  37. export default {
  38. data() {
  39. return {
  40. uniIcon1: '\ue100',
  41. uniIcon2: '\ue101',
  42. uniIcon3: '\ue102',
  43. successTriggeredNum: 0,
  44. }
  45. },
  46. onLoad() {
  47. const self = this
  48. uni.loadFontFace({
  49. global: true,
  50. family: 'UniFontFamily',
  51. source: "url('/static/font/uni.ttf')",
  52. success() {
  53. self.successTriggeredNum++;
  54. console.log('global loadFontFace uni.ttf success')
  55. },
  56. fail(error) {
  57. console.warn('global loadFontFace uni.ttf fail', error.errMsg)
  58. },
  59. })
  60. uni.loadFontFace({
  61. family: 'UniFontFamily2',
  62. source: "url(data:font/ttf;charset=utf-8;base64,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)",
  63. success() {
  64. self.successTriggeredNum++;
  65. console.log('loadFontFace uni.ttf(base64 format) success')
  66. },
  67. fail(error) {
  68. console.warn('loadFontFace uni.ttf(base64 format) fail', error.errMsg)
  69. },
  70. })
  71. uni.loadFontFace({
  72. family: 'AlimamaDaoLiTiTTF',
  73. source:
  74. "url('https://qiniu-web-assets.dcloud.net.cn/uni-app-x/static/font/AlimamaDaoLiTi.ttf')",
  75. success() {
  76. self.successTriggeredNum++;
  77. console.log('loadFontFace Remote AlimamaDaoLiTi.ttf success')
  78. },
  79. fail(error) {
  80. console.warn('loadFontFace Remote AlimamaDaoLiTi.ttf fail', error.errMsg)
  81. },
  82. })
  83. uni.loadFontFace({
  84. family: 'AlimamaDaoLiTiOTF',
  85. source: "url('/static/font/AlimamaDaoLiTi.otf')",
  86. success() {
  87. self.successTriggeredNum++;
  88. console.log('loadFontFace AlimamaDaoLiTi.otf success')
  89. },
  90. fail(error) {
  91. console.warn('loadFontFace AlimamaDaoLiTi.otf fail', error.errMsg)
  92. },
  93. })
  94. uni.loadFontFace({
  95. family: 'AlimamaDaoLiTiWOFF',
  96. source: "url('/static/font/AlimamaDaoLiTi.woff')",
  97. success() {
  98. self.successTriggeredNum++;
  99. console.log('loadFontFace AlimamaDaoLiTi.woff success')
  100. },
  101. fail(error) {
  102. console.warn('loadFontFace AlimamaDaoLiTi.woff fail', error.errMsg)
  103. },
  104. })
  105. uni.loadFontFace({
  106. family: 'AlimamaDaoLiTiWOFF2',
  107. source: "url('/static/font/AlimamaDaoLiTi.woff2')",
  108. success() {
  109. self.successTriggeredNum++;
  110. console.log('loadFontFace AlimamaDaoLiTi.woff2 success')
  111. },
  112. fail(error) {
  113. console.warn('loadFontFace AlimamaDaoLiTi.woff2 fail', error.errMsg)
  114. },
  115. })
  116. },
  117. methods: {
  118. navigateToChild() {
  119. uni.navigateTo({
  120. url: '/pages/API/load-font-face/load-font-face-child',
  121. })
  122. },
  123. },
  124. }
  125. </script>
  126. <style>
  127. .font-size-20 {
  128. font-size: 20px;
  129. }
  130. .line-height-40 {
  131. line-height: 40px;
  132. }
  133. .icon-text{
  134. margin-left:5px;
  135. margin-right: 20px;
  136. line-height:22px;
  137. }
  138. </style>