我已将我的angular 6应用程序与One Signal Push通知集成在一起。 我的索引html文件的script标记中包含以下代码。
var OneSignal = window.OneSignal || [];
OneSignal.push(function () {
OneSignal.init({
appId: "xxxxxxxxxxxxxxxxx",
});
});
OneSignal.push(['addListenerForNotificationOpened', function (data) {
console.log(data);
}]);
一个信号设置:该站点不是完全HTTPS。
我将Web应用程序托管在IIS上。 我能够订阅通知,将通知发送给目标用户,并且能够在单击通知时执行适当的操作。在不同的浏览器和设备上多次测试了同一操作。
在测试应用程序之后,网站的域名已更改,并且设置已进行了相应的更改。 (只有域名已更改,托管它的服务器是相同的)
更改后,用户仍然可以订阅通知,我们可以将通知必须发送给的特定用户作为目标。但是,当通知出现在设备上时,单击该通知后,我将以下错误记录到控制台,并且未调用侦听器。
错误:无法从来源“ https:{该网站的一个信号标签}”从“ https://onesignal.com/api/v1/notifications/ {某一个信号键}”获取信息已被CORS政策禁止:否'Access-Control-Allow -Origin'标头出现在请求的资源上。如果不透明的响应满足您的需求,请将请求的模式设置为“ no-cors”以在禁用CORS的情况下获取资源。
未捕获(承诺)TypeError:无法获取OneSignalSDKWorker.js?appId = {xxxxxxxxxxxxxx}
我在所有浏览器中都遇到相同的错误。
在更改URL之前和之后,移动应用程序的原始版本(Android(Kotlin)和iOS(Swift))运行良好。
我尝试更改一种信号设置:禁用站点不是完全HTTPS切换,然后将OneSignalSDKWorker.js和OneSignalUpdaterWorker.js,manifest.json上传到根目录,并且可以访问它们而无需在相应URL上进行任何重定向他们必须在哪里。
我还尝试过在One Signal中创建一个新应用,并更改前端和一个信号设置上的配置。
我已经创建了一个小的角度测试6应用程序(以确保该应用程序不会造成问题),并与一个信号集成并部署到另一台服务器中(以查看是服务器还是IIS引起)使用不同的URL(不是我以前使用的2)。
在尝试任何新更改之前,还删除了缓存和cookie。
我尝试过的所有事情似乎都无法解决问题。
最后,我检查了另一个使用One Signal网络推送的网站。单击通知后,我可以看到相同的错误登录到控制台。
我不确定所记录的错误是否是预期的行为(之前没有注意到),并且是由于触发了侦听器而停止的。
此外,我认为更改URL可能是一个巧合,因为我没有在更改URL的前1周和更改后2天测试点击操作。
需要帮助来解决此问题。 预先感谢。