1

我正在尝试将 intercom.io 集成到我的 AngularJS 应用程序中。

该脚本在完全加载之前需要配置一些参数:

<script id="IntercomSettingsScriptTag">
  window.intercomSettings = {
    // TODO: The current logged in user's email address.
    email: "john.doe@example.com",
    // TODO: The current logged in user's sign-up date as a Unix timestamp.
    created_at: 1234567890,
    app_id: "95b20cd5364bab3a2136e252d2862b8136aabe7e"
  };
</script>
<!-- Init script -->
<script>(function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',intercomSettings);}else{var d=document;var i=function(){i.c(arguments)};i.q=[];i.c=function(args){i.q.push(args)};w.Intercom=i;function l(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://static.intercomcdn.com/intercom.v1.js';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);}if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}};})()</script>

我尝试使用 {{data.email}} 替换电子邮件,但不幸的是,init 脚本在 intercomSettings 之前加载。ng-cloak 对我来说不是很有用,因为它只是为演示目的而设计的。

我不确定我应该寻找哪个方向。测试我的代码:http ://plnkr.co/edit/2PJNLukBx0cTOPZXNwqs?p=preview

如果它有效,你应该在窗口的右下角看到一个小问号。

4

2 回答 2

2

我不确定你是否已经找到了解决方案,但你应该看看这个:

https://github.com/maxiperezc/angular-intercom 它基本上将对讲脚本包装成角度,因此您可以使用指令在应用程序中使用。

这是https://github.com/gdi2290/angular-intercom的改进版本- 他们删除了一些不必要的代码

于 2014-01-16T08:58:59.980 回答
0

如果您仍然感兴趣,我将 angular-intercom 更新为最新的对讲 api。该服务已为用户简化,提供了更好的异步脚本加载方式 https://github.com/gdi2290/angular-intercom

于 2014-12-23T03:41:02.193 回答