Firefox

时间:2018-05-24 07:29:36

标签: javascript java html web-applications onesignal

对于我正在研究的实习项目,一个java webapp,我需要向不完全HTTPS 网站发送通知。 OneSignal提供了这样做的可能性。

首先,为了测试他们的服务,我在我的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的回复。他们的“支持”链接不起作用。

1 个答案:

答案 0 :(得分:2)

我找到了解决方案!这有点明显。我只需要重置Firefox ,它现在运行正常。感谢page给出了我的提示。

此问题与我在HTTP和HTTPS配置之间切换以便测试不同的webpsuh解决方案/服务有关。为此,我必须使用自定义SSL证书伪造完全HTTPS网站并在Firefox中添加安全性。当回到HTTP时,我的Firefox配置在某种程度上受到此异常的影响,因此Firefox引发了安全错误。