首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >拒绝加载字体- Angular 2

拒绝加载字体- Angular 2
EN

Stack Overflow用户
提问于 2017-03-29 03:54:26
回答 1查看 4.2K关注 0票数 2

我是从Angular 2开始的,并且一直在尝试路由。当我没有路由时,一切都正常工作,但现在每次我转到/home时,我都会收到这个错误。

代码语言:javascript
运行
复制
Refused to load the font 'data:font/woff;base64,d09GRgABAAAAAIw4ABEAAAABQcAAAQABAAAAAAAAAAAAAAAAAAAAA…hgZiCKVViwAiVhsAFFYyNisAIjRLMJCgMCK7MLEAMCK7MRFgMCK1myBCgGRVJEswsQBAIrAA==' because it violates the following Content Security Policy directive: "default-src 'self'". Note that 'font-src' was not explicitly set, so 'default-src' is used as a fallback.

我正在使用HAML,但我不认为这是问题所在。索引仍然是.html扩展,这似乎也不会造成问题。

这是我的index.html。

代码语言:javascript
运行
复制
<html>
  <head>
    <meta charset="UTF-8">
    <title>Freelance Bootcamp</title>
    <base href='/'>
    <meta name="viewport" content="width=device-width, initial-scale=1">
  </head>

  <body>
    <app>App Loading...</app>
  </body>
</html>

app.module.ts

代码语言:javascript
运行
复制
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpModule }    from '@angular/http';

import { AppComponent } from './app.component';
import { HomepageComponent } from './homepage/homepage.component';

import { AppRoutingModule } from './app-routing.module';

@NgModule({
    imports: [
        BrowserModule,
    HttpModule,
        AppRoutingModule
    ],
    declarations: [
        AppComponent,
        HomepageComponent
    ],
    bootstrap: [
        AppComponent
    ]
})
export class AppModule {}

app.component.ts

代码语言:javascript
运行
复制
import { Component } from '@angular/core';

@Component({
    moduleId: module.id,
    selector: 'app',
    templateUrl: 'app.component.haml'
})
export class AppComponent {
    title: 'Freelance Bootcamp Dashboard';
}

homepage.component.ts

代码语言:javascript
运行
复制
import { Component } from '@angular/core';

@Component({
    moduleId: module.id,
    selector: 'homepage',
    templateUrl: 'homepage.component.haml'
})
export class HomepageComponent {}

app-routing.module.ts

代码语言:javascript
运行
复制
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

import { HomepageComponent } from './homepage/homepage.component';

const routes: Routes = [
    { path: '', redirectTo: '/home', pathMatch: 'full' },
    { path: 'home', component: HomepageComponent },
]

@NgModule({
    imports: [ RouterModule.forRoot(routes) ],
    exports: [ RouterModule ]
})
export class AppRoutingModule {}

当我转到localhost:4200时,redirectTo /home可以正常工作。如果我转到localhost:4200/home,我就会得到描述的错误,页面会被App加载卡住……屏幕。

如果有帮助,我通过键入以下命令使用angular-cli生成了应用程序:

代码语言:javascript
运行
复制
ng new application

如果有人能帮我解决这个问题,那就太棒了,提前谢谢你。

我希望这是足够的信息。如果没有,请让我知道你还需要知道什么。

EN

回答 1

Stack Overflow用户

发布于 2017-06-12 22:53:47

添加content security policy

例如,使用data:font-src

代码语言:javascript
运行
复制
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; font-src 'self' data:;">

如果您使用CDN,请根据需要添加,例如用于fonts.gstatic.com

代码语言:javascript
运行
复制
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; font-src 'self' data: fonts.gstatic.com;">
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43078707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档