Я использую технику JSONP / dynamic-script-tag для выполнения междоменного AJAX (XML отсутствует, но вы понимаете, о чем я).
Первоначально я написал свое собственное решение, но я не смог придумать элегантный способ удаления сценария после его выполнения. Моя стратегия состояла в том, чтобы просто передать ID и при обратном вызове удалить связанный скрипт, но я понял, что это предотвратит кэширование, что я не хочу делать.
Это было что-то вроде:
1) Динамически вставить: <script src="http://example.com/handler.php?callback=x&scriptid=y"></script>
.
2) Скрипт загружается и запускается x(); removeScript(y);
, где removeScript
извлекает соответствующий элемент скрипта из элемента head.
Он работал отлично, но разрушил кеширование. Поэтому я был взволнован, узнав, что jQuery предоставляет метод jsonp, и быстро реализовал его, полагая, что они все это выяснили. Вместо этого jQuery оставляет там элемент script.
Есть ли чистый способ удалить эти элементы?