对于我正在研究的实习项目,一个java webapp,我需要向
首先,为了测试他们的服务,我在我的jsp文件中的某些<script>
标签内硬编码了客户端SDK javascript,并且它工作正常。
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async='async'></script>
<script>
var OneSignal = window.OneSignal || [];
OneSignal.push(["init", {
appId: "my-app-id",
autoRegister: false,
notifyButton: {
enable: true
}
}]);
</script>
但是,我必须将我的javascript移动到js文件中,因为我公司的开发规则指定javascript不应该在jsp文件中。所以我将代码链接到一个按钮,使用document.querySelector('.id-foo').addEventListener('click', initOneSignal)
手动激活它。
然后在我的jsp的页脚中动态加载javascript文件。
这是我的js文件:
(function() {
document.querySelector('.js-initOneSignal').addEventListener('click', initOneSignal);
function initOneSignal() {
var OneSignal = window.OneSignal || [];
OneSignal.push(["init", {
appId: "my-app-id",
autoRegister: false,
notifyButton: {
enable: true
}
}]);
};
})();
然而,它不再起作用了(在只有Firefox ,Chrome上没问题),因为我从OneSignalSDK.js收到此消息,试图打开iFrame到https://my-app-name.onesignal.com/webPushIframe但不是能够和超时。
SecurityError:操作不安全
显然这是一个错误https://github.com/OneSignal/OneSignal-Website-SDK/issues/95。该问题被标记为已关闭,而我认为它应该再次打开,较新版本的Firefox可能已经改变了一些东西。以下是我的github问题的链接:https://github.com/OneSignal/OneSignal-Website-SDK/issues/359
是否有人遇到此问题并找到了解决方法?
提前感谢您的帮助!
PS:我正在使用Firefox 60
PPS:iFrame OneSignal尝试打开:
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js"></script>
<script>OneSignal._initHttp({
appId: "myappid",
subdomainName: "mysubdomainname",
origin: "http://my-website"
});</script>
<link rel="manifest" href="manifest_json">
</head>
<body>
</body>
</html>
编辑:
仍然没有来自OneSignal的回复。他们的“支持”链接不起作用。
答案 0 :(得分:2)
我找到了解决方案!这有点明显。我只需要重置Firefox ,它现在运行正常。感谢page给出了我的提示。
此问题与我在HTTP和HTTPS配置之间切换以便测试不同的webpsuh解决方案/服务有关。为此,我必须使用自定义SSL证书伪造完全HTTPS网站并在Firefox中添加安全性。当回到HTTP时,我的Firefox配置在某种程度上受到此异常的影响,因此Firefox引发了安全错误。