2011-04-10 58 views
2

我想動態填充從LinkedIn搜索結果中獲取的公共URL的數據ID字段。假設我能夠返回公開的個人資料網址。如果我將相同的腳本直接放在頁面上(而不是通過javascript),它就可以工作。LinkedIn API:動態用戶界面組件

resultsHtml += '<script type="IN/MemberProfile" data-id="'+currResult.publicProfileUrl+'" data-format="inline"/>'; 
$("#search-results").html(resultsHtml); 

僅供參考

http://developer.linkedin.com/docs/DOC-1278

+1

是你用的jQuery?你應該把它添加到標籤如果是這樣的 – Neal 2011-04-14 16:42:58

+0

如果你手動把它的配置文件的URL它的作品?那是你在說什麼? – MacAnthony 2011-04-14 16:46:05

+0

你試過我的回答嗎? – Neal 2011-04-21 14:16:15

回答

1

如果你正在使用jQuery這我假設你是,你第一個需要運行第一個js文件: http://platform.linkedin.com/in.js

所以一定要確保你有:

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

在文檔的頭部。

,然後在身體當u稱之爲:

$(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); 
    ... 

}) 
1

我猜你正在嘗試動態添加LinkedIn腳本標記(與一個動態數據ID)在頁面就緒/卸載或之後。 LinkedIn的圖書館將掃描頁面以查看腳本標記,以便在頁面上進行解析,以便它不會及時看到您的動態標記。

根據http://developer.linkedin.com/docs/DOC-1292#Parsing_Tags,您可以撥打IN.parse(domNode)來呈現任何動態添加的LinkedIn標籤。所以,你以後的示例代碼,你可以這樣做:你從這個例子裏缺

IN.parse($("#search-results")[0]); 
0
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>