#javascript #html #linkedin
#javascript #HTML #LinkedIn
Вопрос:
Я пытаюсь динамически заполнить поле идентификатора данных общедоступным URL, полученным из результатов поиска linkedin. Предположим, что я могу вернуть URL общедоступного профиля. Если я помещу тот же скрипт непосредственно на страницу (не через javascript), это сработает.
resultsHtml = '<script type="IN/MemberProfile" data-id="' currResult.publicProfileUrl '" data-format="inline"/>';
$("#search-results").html(resultsHtml);
Для справки
Комментарии:
1. это jQuery, который вы используете? вы должны добавить его в теги, если это так
2. Если вы вручную введете URL профиля, это сработает? Это то, что вы имели в виду?
Ответ №1:
если вы используете jQuery, а я предполагаю, что это так, вам сначала нужно запустить этот первый js-файл: http://platform.linkedin.com/in.js
поэтому убедитесь, что у вас есть:
<script src="http://platform.linkedin.com/in.js" type="text/javascript"></script>
в заголовке документа.
а затем в теле, когда вы его вызываете:
$(function(){
...
//here is the hack:
resultsHtml = '<sc' 'ript type="IN/MemberProfile" data-id="' currResult.publicProfileUrl '" data-format="inline"></sc' 'ript>';
//remember to close script tags
$("#search-results").html(resultsHtml);
...
})
или вы можете попробовать это:
$(function(){
...
var $script = $('<script>',{
'data-format': 'inline',
type: 'IN/MemberProfile',
'data-id': "' currResult.publicProfileUrl '"
})
$("#search-results").html(resultsHtml);
$("#search-results").append($script);
...
})
Ответ №2:
Я предполагаю, что вы пытаетесь динамически добавить тег скрипта LinkedIn (с динамическим идентификатором данных) при подготовке / выгрузке страницы или после. Библиотека LinkedIn просканирует страницу на наличие тегов скрипта для разбора в page ready, поэтому она может не увидеть ваш динамический тег вовремя.
Согласно http://developer.linkedin.com/docs/DOC-1292#Parsing_Tags вы можете вызвать IN.parse(domNode)
для отображения любых динамически добавляемых тегов LinkedIn. Итак, после вашего примера кода вы можете сделать:
IN.parse($("#search-results")[0]);
Ответ №3:
resultsHtml = '<script type="IN/MemberProfile" data-id="' currResult.publicProfileUrl '" data-format="inline"/>';
в примере не хватает одной вещи — закрытия </script>
resultsHtml = '<script type="IN/MemberProfile" data-id="' currResult.publicProfileUrl '" data-format="inline"></script>';
таким образом, это может выглядеть как их пример:
<script src="http://platform.linkedin.com/in.js" type="text/javascript"></script>
<script type="IN/MemberProfile" data-id="/in/jeffweiner08" data-format="inline"></script>