В настоящее время я создаю Javascript-библиотеку, которая может быть использована для легкого создания встраиваемых носителей на основе URL-файла медиафайла, а затем контролироваться с помощью Javascript-методов и событий (подумайте что-то вроде Flash/Silverlight JW player).Кросс-доменные шаблоны с Javascript
Конечно, я мог бы просто кошки все HTML-теги из библиотеки Javascript и отправить его в браузер:
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 захочет добавить медиаплеер, используя библиотеку, ему необходимо выполнить вызов AJAX в шаблон, расположенный на foo.com, который не будет работать из-за политики одного и того же происхождения в браузерах.
AFAIK, нет библиотеки, которая использует что-то вроде JSONP для чтения и записи шаблонов, чтобы обойти эту проблему.
Может ли кто-нибудь указать мне на решение этой проблемы?