2014-01-16 37 views
0

我正在使用LinkedIn API,我需要加载他们的登录脚本,当我的用户击中某个路线。但是,从我读过的stackoverflow中,不可能只将脚本元素放入部分内部。 我的代码是直截了当:角度加载LinkedIn脚本部分

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular-route.js">   
    ... 
<script src="http://platform.linkedin.com/in.js"> 
api_key: ... 
authorize: true 
onLoad: onLinkedInLoad 
</script> 

<script type="in/Login"> 
Hello, <?js= firstName ?> <?js= lastName ?>. 
</script> 

<script src="js/linkedinFuncs.js"></script> 
</div> 

的最后3个脚本(在LinkedIn的)只需要当用户点击“登录”路线包括在内。有什么想法吗?

+0

东西你尝试把你的脚本部分从您的相关congtroller代码加载路由器升在你的页面的ng-view部分添加? – michael

回答

0

如果有人遇到这个问题:

1)确保您加载的jQuery前角

2)运行最新的角(这个问题解决了在1.2.9但没有解决我的1.2。 0)

0

您可以以编程方式通过使用这样的

 (function injectScript() { 
      var src = 'http://platform.linkedin.com/in.js', 
       script = document.createElement('script'); 
      script.async = true; 


      script.src = src; 
      var api_key = 'YOUR_KEY_HERE'; 
      //script.authorize = true; 
      script.text = 'api_key: ' + api_key + '\n' + 'authorize: true\n'; 
      script.onload = function() { 
       IN.Event.on(IN, 'systemReady', function() { 

        loadDeferred.resolve(IN); 
       }); 
      }; 

      document.getElementsByTagName('head')[0].appendChild(script); 
     })();