2

埋め込みタグを使用しようとしており、src 属性に動的 URL を提供しました

<embed src="{{mediaUrl}}" type="{{mimeType}}"  />

しかし、ページを開くと、

<embed src="unsafe:abc/def.mp4" type="video/mp4"  />
  • media-src、child-srcなどを含むCSPの権限を変更しました
  • 完全な許可を与えました(*)
  • すべての権限を削除しました
  • 最後に、「ember-cli-content-security-policy」を完全に削除しましたが、それでも unsafe: の先頭への追加は避けられませんでした。

ただし、「ember-cli-content-security-policy」を削除しても、URL はブロックされなくなりましたが、URL の前にまだ unsafe が追加されていたため、ビデオが読み込まれませんでした

他に試したこと:

  • タグがembedおよびsrcであり、type属性がバインドされているemberコンポーネントを使用し、html.safestringを使用しました。結果: 安全ではありません: まだ先頭に追加されていました

  • コンポーネントがレンダリングされた後に src 属性に URL を追加しました (安全でないにもかかわらずビデオを表示しませんでした: 埋め込まれた src タグは変更できないと信じているため、先頭に追加されませんでした)

  • コンポーネントがレンダリングされた後に全体を追加し、今では機能しました。

しかし、これは私が望むものではありません。テンプレートの一部にして、動的に挿入しないようにしたいのです

4

1 に答える 1

2

私は同じ問題を抱えていましたが、このヘルパーを使用して解決しました:

// app/helpers/safe-string.js
import Ember from 'ember';

export function safeString(value) {
  return Ember.String.htmlSafe(value)
}

export default Ember.Helper.helper(safeString);

できるようになりました:

<embed src="{{safe-string mediaUrl}}" type="{{mimeType}}"  />
于 2016-12-09T20:05:42.387 に答える