У меня есть интерактивный SVG, который нужно рисовать в разных местах на моем сайте. В настоящее время я могу сделать это, выполнив это на каждой странице.Магазин raphael svg в переменной javascript
$.getScript(UTIL.theme_dir() + '/assets/js/data/lot-plan.js', function() {
// Plan Interactions
// Builds the hovers and click events
obj.planInteractions(lotInfo);
// When clicking on custom title blocks, highlight approriate units
$(".custom-title").on('click', function(){
if(!$(this).hasClass('disabled')){
obj.planHighlight(lotInfo, $(this));
}
});
obj.scaleSVG('#lot-plan');
});
Но, как вы можете видеть, это будет вызывать файл lot-plan.js каждый раз. Я пытался выяснить способ называть его один раз и хранить его данные в var для повторного использования. Этот файл плана лотов - это Raphael SVG, поэтому после загрузки кода он отображает svg на странице. Загрузка этого файла также дает мне доступ к объекту «lotInfo», в котором есть некоторые элементы конфигурации.
Я пытался вызвать файл с помощью getScript и сохранить его в переменной и проверить, установлена ли эта переменная, но я не могу получить доступ к js из файла, в основном, svg не визуализации.
Я все об этом не так? Кто-нибудь может понять это? Пожалуйста, спросите, нужна ли вам дополнительная информация/код, я буду рад предоставить.
Вам было бы интересно сначала загрузить svg как XML через XMLHttpRequest? –