Как удалить тег сценария, добавленный междоменным ajax? - PullRequest
2 голосов
/ 04 июня 2010

Я использую технику 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.

Есть ли чистый способ удалить эти элементы?

Ответы [ 2 ]

1 голос
/ 04 июня 2010

Благодаря вашему вопросу я обнаружил этот проект на code.google: jquery-jsonp . этот плагин предоставляет некоторые функциональные возможности, которых нет в jquery.

Я никогда не использовал его, но, кажется, он крут и справляется с самыми разными вещами, включая кеширование. Вы можете найти несколько примеров его использования здесь: http://code.google.com/p/jquery-jsonp/wiki/TipsAndTricks

0 голосов
/ 04 июня 2010

Почему вы хотите удалить их? Только веб-гики смотрят на исходный код страницы, и есть вероятность, что вам не заплатят веб-гики за создание сайта. Они безвредны, поэтому вам не нужно прилагать все усилия, чтобы удалить метки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...