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