Как загрузить библиотеку API JavaScript LinkedIn с загрузчиком script?

LinkedIn Api предлагает вам загрузить свою библиотеку javascript следующим образом:

<script type="text/javascript" src="http://platform.linkedin.com/in.js">
  api_key: your_api_key_goes_here
</script>

Я хочу знать, как загрузить его с помощью загрузчика script (например, RequireJS или LABJS). Кажется, библиотека извлекает ключ api из тегов script. Это кажется довольно странным способом сделать это, на мой взгляд!

Я бы предпочел загрузить библиотеку с помощью загрузчика script, но, похоже, не может узнать, как вставить api_key без использования предложенного метода.

Официальные инструкции здесь

У кого-нибудь есть идеи?

Ответ 1

От: https://developer.linkedin.com/documents/general-methods

Асинхронная загрузка

Чтобы избежать столкновения с условиями гонки на вашей странице, вы можете загружать фрейм асинхронно.

Если ваша страница использует JQuery, следующий код будет работать:

$(document).ready(function() {
    $.getScript("http://platform.linkedin.com/in.js?async=true", function success() {
        IN.init({
            onLoad: "myOnloadFunction"
        });
    });
});

В противном случае вам нужно что-то вроде этого:

<script type="text/javascript" src="http://platform.linkedin.com/in.js?async=true"></script>
<script type="text/javascript">
    IN.init({
        onLoad: "myOnloadFunction"
        // any other parameters you'd normally put beneath the script element would be here
    });
</script>

Ответ 2

Как отмечено @AdamTrachtenberg, вам нужно использовать асинхронную версию API: http://platform.linkedin.com/in.js?async=true

Далее вам нужно будет вызвать In.init() при загрузке API JS.
Вы должны сделать это в функции обратного вызова вашего загрузчика script.

Вы можете указать свой API-ключ в качестве параметра для In.init()

Примечание: вам нужно не выполнить функцию обратного вызова onLoad до In.init()
сообщение, которое я написал о том же

Ответ 3

Проверьте это

 if(typeof IN === 'undefined'){ //if it is already included don't include that
            $.getScript('//platform.linkedin.com/in.js', function(data, textStatus){
                 IN.init({
                    api_key: 'YOUR_API_KEY',
                    onLoad: function(){
                        alert("Fully Loaded");
                    }
                });
            });
        }