Angular2 - 嵌入Flash游戏 - 游戏显示片刻并消失

时间:2017-01-23 16:50:37

标签: javascript flash angular angular2-routing

-------------------编辑----------------------

我缩小了问题,这似乎是domSanitizer中的一个问题。我创建了2个<embed>标签 - 一个带有硬编码路径,另一个带有domSanitizer输出。第一个完美运作,第二个没有做任何事情:

//working
<embed src="THE_HARD_CODED_URL" width="800" height="512" type="application/x-shockwave-flash"/>

//not working
<embed [src]="safeUrl" width="800" height="512" type="application/x-shockwave-flash"/>

我正在开发一个angular2网站,需要嵌入Flash游戏。 问题是,当我导航到游戏的视图时,我看不到<embed>点的游戏。如果我从游戏页面强制刷新网站 - 我会在那里看到一些快速的东西(我认为这是在加载游戏之前来自adobe的初始消息)然后它就会消失。

以下是代码示例 - 我在“游戏列表”组件中有一个游戏列表,因此如果您点击一个游戏,您将被路由到此特定游戏的视图:

//game-list.component.html

    <a [routerLink]="['/game', game.id]">
       <img [src]="game.preview.thumbnailPath" />
    </a>

路线通向“游戏”组件,如下所示:

//game.component.html

    <h1>{{game.name}}</h1>
    <embed [src]="safeUrl" width="800" height="512" type="application/x-shockwave-flash"/>

safeUrl是DOM Sanitizer的输出

//game.component.ts

this.safeUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(this.game.embedUrl);

毋庸置疑,我检查了所有数据是否正确传递给“游戏”组件 - 我打印了safeUrl并获得了所需的链接。

我对角度很新,所以也许我错过了一个基本的东西,但我没有看到它。

谢谢!

0 个答案:

没有答案