2016-03-16 2 views
0

нужно загрузить этот скрипт в проекте Метеор: <script type="text/javascript" src="https://www.dropbox.com/static/api/2/dropins.js" id="dropboxjs" data-app-key="my-api-key"></script>Загрузка Dropbox dropin.js сценарий Метеор

Я первый попытался сделать $('head').append('<script type="text/javascript" src="https://www.dropbox.com/static/api/2/dropins.js" id="dropboxjs" data-app-key="my-api-key"></script>') на Template.Image.onRendered, но проблема заключается в том, что библиотека нагрузок каждый раз, когда шаблон визуализируется, и дает эту ошибку: dropins.js included more than once

Я также просмотрел пакет wait-on-lib, https://github.com/DerMambo/wait-on-lib, но я не могу передать ключ-приложение или идентификатор функция ожидания маршрутизатора.

Есть ли у вас какие-либо предложения по загрузке этого скрипта?

+0

Вызывает ли это какая-либо функциональная проблема? Это сообщение «dropins.js включено более одного раза» является всего лишь предупреждением, и в любом случае он фактически прекратит выполнение сценария в этой точке, поэтому единственный вред, который может возникнуть, - это дополнительный сетевой вызов для его загрузки. (И, надеюсь, он должен быть кэширован в любом случае.) – Greg

+0

Возможно, вы правы, что я могу просто игнорировать предупреждение, но Метеор, похоже, не может просматривать кнопку на втором рендере. Я подозреваю, что это имеет какое-то отношение к настройке маршрутизации. –

ответ

0

Я никогда не использовал dropbox sdk, но, возможно, это поможет вам или дайте некоторую идею для этого.

if(window.Dropbox){ 
    // Nice, is already loaded 
} 
else { 
    $("head") 
     .append('<script type="text/javascript" src="https://www.dropbox.com/static/api/2/dropins.js" id="dropboxjs" data-app-key="your-api-key"></script>'); 
    var head = document.getElementsByTagName('head')[0]; 
    var script = document.createElement('script'); 
    script.type = 'text/javascript'; 
    script.src = 'https://www.dropbox.com/static/api/2/dropins.js'; 
    head.appendChild(script); 
    script.onload = function(){ 
     //whatever, I Want It All! 
    }; 
} 

Вы можете добавить это на свой блокнот Template.template_name.onCreated.

Смежные вопросы