我正在为我的应用程序使用SnapEngage小部件。该应用程序具有Angular组件和功能。我正在尝试使用SnapEngage方法(),但它不会调用/识别那些方法。请说明我是否应该从SnapEngage获得插件/导入。我收到错误消息,因为找不到名称“ SnapEngage”。在该行SnapEngage.allowChatSound(true);
includeSnapEngageWidget(){
if( SnapEngageEnabled ==="true"){
var se = document.createElement('script');
var userEmail = email;
var userName = name;
se.type = 'text/javascript';
se.async = true;
se.src = '//storage.googleapis.com/code.snapengage.com/js/'+ widgetId +'.js';
var done = false;
se.onload = (se as any).onreadystatechange = function() {
if (!done&&(!this.readyState||this.readyState==='loaded'||this.readyState==='complete')) {
done = true;
/* Place your SnapEngage JS API code below */
SnapEngage.allowChatSound(true);
}
};
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(se, s);
}
}
强文本
答案 0 :(得分:0)
如果您的应用程序找不到SnapEngage
,则表示未加载js文件。加载应用程序后,请确保对'//storage.googleapis.com/code.snapengage.com/js/'+ widgetId +'.js';
的调用已成功。
答案 1 :(得分:0)
通过创建外部* .js文件及其* .d.ts文件修复了该问题,并在脚本下的angular.cli.JSON中引用了* .js文件路径。在main.ts文件中导入了函数,并在angular中调用了该方法。