Вы, конечно, могли бы, но вам нужно было бы каким-то образом получить доступ к виджетам. Я также обнаружил гораздо более высокую производительность (более быстрый отклик, более быструю загрузку) у EdgeCast и Akamai.
Скажем, например, у вас есть код для формы на http://cdn.mysite.com/form1.html, и пользователь нажимает на ссылку, которая вызовет эту форму.
Используйте что-то вроде этого в качестве сценария:
$(document).ready( function() {
$(".widget .trigger").click( function() {
url = $(this).attr("rel");
$(this).parents(".widget").load(url, function () {
// Do what needs to be done to the widget code here
// Example: make it an AJAX form.
});
});
});
А затем получите эту разметку:
<div class="widget">
<a href="javascript:void(0);" rel="http://cdn.mysite.com/form1.html">Widget Trigger</a>
</div>
И имейте это в своем CDN:
<form action="/ajax/hander/" method="POST">
<fieldset>
<legend>This is a pretty cool form</legend>
<label for="form1input1">Make this cool:</label>
<input id="form3input1" name="something" type="text" />
<input type="submit" value="Coolify" />
</fieldset>
</form>
Тогда у вас может быть часть серверного кода, которая загружает фрагменты в ваш CDN, сохраняет их URL в базе данных и генерирует ссылки с соответствующим тегом rel, извлекая это значение из чего-то быстрого, например Memcached. Эта часть будет сильно различаться в зависимости от выбранного вами языка.