Я пишу плагин jQuery для отображения данных, полученных из другого домена, в элементе на странице. Я следую типичному шаблону для моего плагина jQuery:
$(selector).Plugin(options);
В плагине я получаю внешние данные, используя jQuery.getScript (url, [success]) . Внешний источник данных позволяет мне определить имя метода, и он обернет данные при вызове этого метода ( JSONP ):
$.getScript("http://www.example.com/data?callback=global_callback", instance_callback);
Это эффективно приводит к:
<script type="text/javascript">
global_callback(data);
</script>
Область действия global_callback
ограничивает возможности экземпляра Plugin для данных. И метод global_callback
не знает селектора или опций, с которыми был создан плагин.
Я думал, что global_callback
просто сохранит данные, а плагин получит данные в instance_callback
. Но мне нужно убедиться, что instance_callback
будет получать правильные данные, я предвижу проблему с несколькими экземплярами плагина. Как я могу справиться с этим?
Спасибо!