Tawk.to不在IONIC App中工作,但在部署的浏览器上工作

时间:2017-07-16 22:35:18

标签: javascript angularjs ionic-framework

我正在尝试将Tawk.to集成到我的离子应用程序中,但是我的应用程序中的小部件根本没有显示。但是,当我做离子服务并在浏览器上运行它时,小部件显示正确。 是因为离子应用程序不允许加载iframe吗?

 <script type="text/javascript">
 var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
 (function(){
  var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
   s1.async=true;
   s1.src='https://embed.tawk.to/.../default';
   s1.charset='UTF-8';
   s1.setAttribute('crossorigin','*'); 
   s0.parentNode.insertBefore(s1,s0);

  })();
  </script>
  <!--End of Tawk.to Script-->
   </div>

2 个答案:

答案 0 :(得分:0)

输入您的config.xml ...

   ...
   <access origin="*" />
   <allow-intent href="*" />
   <allow-navigation href="*" />
   ...
   <plugin name="cordova-plugin-ionic-webview" spec="^1.1.16" />

答案 1 :(得分:0)

因此,在进行一些调试之后,我非常确定这是由于Origin标头已通过iOS上的ionic://方案设置为域。

我的假设是tawk.to不能正确处理此问题,因为我看到/register/:id请求在iOS上失败了(但在浏览器中没有)。 Android确实有http://方案,而iOS不允许这样做:

  

诸如http,https或file的值无效,并且将使用默认值。 (1

因此,对于实际的解决方案,我建议使用直接聊天链接(2)功能:

  

直接聊天链接允许您向网站添加特殊链接,该链接将使您选择的Widget在新的浏览器窗口中打开。

使用“应用内浏览器”插件(3)或仅弹出应用中的链接,然后在系统浏览器中将其打开(请确保正确配置您的意图白名单(请参阅4 )。