我正在尝试在我的AngularJS应用程序中集成intercom.io。
脚本在完全加载之前有一些要配置的参数:
<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
如果有效,你应该在窗口右下方出现一个小问号。
答案 0 :(得分:2)
我不确定您是否已找到解决方案,但您应该看一下:
https://github.com/maxiperezc/angular-intercom 它基本上将内部通信脚本包装成angular,因此您可以在应用程序中使用指令。
这是https://github.com/gdi2290/angular-intercom的改进版本 - 他们删除了一些不必要的代码
答案 1 :(得分:0)
如果您仍然感兴趣,我会将角度对讲更新到最新的对讲机api。通过更好的方式处理异步脚本加载,为用户简化了该服务 https://github.com/gdi2290/angular-intercom