私は現在、メディア ファイルの URL に基づいて埋め込み可能なメディアを簡単に作成し、Javascript メソッドとイベントを使用して制御できる Javascript ライブラリを構築しています (Flash / Silverlight JW プレーヤーのようなものを考えてください)。
もちろん、Javascript ライブラリからすべての html タグを単純に cat して、それをブラウザーに送信することもできます。
function player(url) {
document.write('<object type="foo"><param name="something" value="bar">' +
<param name="source" value=" + url + '/></object>');
}
しかし、これは非常に醜いやり方であり、数週間後に見直したときに判読不能な管理不能なコードを作成する傾向があると思います。
そのため、テンプレート ソリューションが適しているようです。EJS は AJAX を使用してテンプレートをロードするため、 EJSを探していました。これにより、テンプレートを HTML ページで直接管理するのではなく、別のファイルで管理できます。
それには 1 つの「落とし穴」があります: 私のライブラリは完全にクロスドメインである必要があります: ライブラリ自体は foo.com に配置でき、提供サイトは bar.com に配置できます。そのため、bar.com がライブラリを使用してメディア プレーヤーを追加したい場合、foo.com にあるテンプレートに対して AJAX 呼び出しを行う必要がありますが、これはブラウザーの同一生成元ポリシーのために機能しません。
私の知る限り、この問題を回避するために JSONP のようなものを使用してテンプレートを読み書きするライブラリはありません。
誰でもこの問題の解決策を教えてもらえますか?