2011-04-10 61 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>