Как загрузить библиотеку 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");
}
});
});
}