SecurityError с HTTPS iFrame в Firefox - PullRequest
0 голосов
/ 24 мая 2018

Для моего проекта стажировки, над которым я работаю - веб-приложение на Java, мне нужно отправлять уведомления на не полностью HTTPS веб-сайт.OneSignal предлагает возможность сделать это.

Сначала, чтобы протестировать их службу, я жестко запрограммировал директиву JavaScript SDK клиента внутри некоторых тегов <script> в моем jsp-файле, и он работал нормально.

<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).

. Затем файл javascript динамически загружается в нижний колонтитул моего jsp.

Вот мой файл 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 могла бы что-то изменить.Вот ссылка на проблему my 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 голосов
/ 30 мая 2018

Я нашел решение!и это было отчасти очевидно.Мне просто нужно было сбросить Firefox , и теперь он работает нормально.Благодаря этой странице , которая подсказала мне.

Эта проблема была связана с тем, что я переключаюсь между конфигурациями HTTP и HTTPS, чтобы протестировать различные решения / службы webpsuh.Чтобы сделать это, я должен использовать собственный SSL-сертификат, чтобы имитировать нахождение на полностью HTTPS-сайте и добавить ожидание безопасности в Firefox.Возвращаясь к HTTP, моя конфигурация Firefox как-то пострадала от этого исключения, и поэтому Firefox выдавал ошибку безопасности.

...