У меня есть JavaScript, который я хочу внедрить в DOM при загрузке определенного компонента, использующего этот скрипт. Компонент существует в нескольких местах в моем приложении, поэтому для пользователя разумно загружать этот компонент несколько раз за сеанс. Есть ли способ предотвратить загрузку ScriptInjector одного и того же сценария несколько раз?
Важный вопрос производительности: если я уже загрузил скрипт, вызовет ли вызов inject() того же скрипта браузер, чтобы загрузить его во второй раз, или он поймет, что у него уже есть скрипт?
Я знаю, что я мог бы создать некоторую глобальную переменную, например FANCY_JS_SCRIPT_LOADED = false;
, а затем в onSuccess обратного вызова вызвать что-то вроде FANCY_JS_SCRIPT_LOADED = true;
, но это кажется очень, очень... неуклюжим.
Документы: http://www.gwtproject.org/javadoc/latest/com/google/gwt/core/client/ScriptInjector.html