我在index.html中使用了标准的LinkedIn JSAPI脚本:
<script type="text/javascript" src="http://platform.linkedin.com/in.js"></script>
我正在使用Angular.js并在我的登录页面中显示此代码:
<button class="btn btn-primary" ng-click="FBlogin()">Connect with Facebook</button>
<script type="in/Login" data-onAuth="getLinkedInProfile"></script>
<script type="text/javascript">
// upon getting in.js above, apply to register window scope
function getLinkedInProfile() {
IN.API.Profile("me").fields(["id", "firstName", "lastName", "email-address", "picture-urls::(original)", "industry", "languages", "educations", "three-current-positions", "three-past-positions"])
.result(function(me) {
angular.element(document.getElementById('login_window')).scope().linkedInRegistration(me) // calls scope function
})
.error(function(error) {
console.log('>> error on LinkedInLoad', error)
})
}
</script>
在某些随机机会上,按钮根本不会出现。我有点注意到,如果我删除了所有的字段()选项,那么按钮会可靠地显示出来,但如果这是原因,我就不会。有什么建议吗?
答案 0 :(得分:0)
我没有角度专家,但我可以告诉你,一旦用户第一次进行身份验证,无论何时登录到LinkedIn.com,他都会自动登录到您的网站并且按钮消失。
这只发生在JavaScript API上,我相信你身边发生了什么。
答案 1 :(得分:0)
我今天注意到,当状态发生变化时,linkedIn登录按钮会消失。如果按钮处于状态A并且状态更改为B然后再返回到A,则不再显示该按钮。 我通过使用指令放置按钮而不是将其硬编码到视图中来解决它。我使用的解决方案是在stackoverflow上回答类似的问题: LinkedIn share button only appearing on initial load in AngularJS app
希望这可以帮助其他人: - )