我目前正在构建一个 Javascript 库,可用于根据媒体文件的 URL 轻松创建可嵌入媒体,然后使用 Javascript 方法和事件进行控制(想想像 Flash / Silverlight JW 播放器之类的东西)。
当然,我可以简单地从 Javascript 库中提取所有 html 标签并将其发送到浏览器:
function player(url) {
document.write('<object type="foo"><param name="something" value="bar">' +
<param name="source" value=" + url + '/></object>');
}
但我认为这是一种非常丑陋的做法,它往往会创建难以管理的代码,当您在几周后查看它时无法阅读。
因此,模板解决方案似乎是要走的路。我一直在寻找EJS,因为它使用 AJAX 加载模板,因此您可以在单独的文件中管理模板,而不是直接在 HTML 页面上。
有一个“陷阱”:我的库需要完全跨域:库本身可以位于 foo.com,而服务站点可以位于 bar.com。因此,如果 bar.com 想要使用该库添加媒体播放器,则需要对位于 foo.com 上的模板进行 AJAX 调用,由于浏览器中的同源策略,这将不起作用。
AFAIK,没有库可以使用 JSONP 之类的东西来读写模板来解决这个问题。
谁能指出我解决这个问题的方法?