Как предотвратить ошибку: «Окно ушло»

Я продолжаю получать следующую ошибку Error: "Window navigated away", и я не знаю, как предотвратить появление этой ошибки, когда она действительно происходит, это также не позволяет мне покинуть текущую веб-страницу, на которой я сейчас. Я новичок в Jquery и Javascript, поэтому мне нужна помощь в том, как предотвратить это.

Вот мой код

if ($('#button').length){
    paypal.Buttons({
        env: '<?= PAYPAL_ENVIRONMENT ?>',
        style:{
            height: 100,
        },
        createOrder: function() {
            let formData = new FormData();
            formData.append('return_url',  '<?= $baseUrl.$URL["redirectUrls"]["returnUrl"]?>' + '?commit=false');
            formData.append('cancel_url', '<?= $baseUrl.$URL["redirectUrls"]["cancelUrl"]?>');

            return fetch('<?= $rootPath.$URL['services']['orderCreate']?>',
                {
                    method: 'POST',
                    body: formData
                }
            ).then(function(response) {
                return response.json();
            }).then(function(resJson) {
                var txt = resJson.data.id;
                $.post('createid.php', {
                    order_id: txt
                });
                return resJson.data.id;
            });
        },
        onApprove: function(data, actions) {
            return fetch(
                '<?= $rootPath.$URL['services']['orderGet'] ?>',
                {
                    method: 'GET'
                }
            ).then(function(res) {
                return res.json();
            }).then(function(res) {
                $('.nonce').val(res.data.id);
            });

        },
        onCancel: function(data) {
            $('#c').html('<a id = "anchor" name = "anchor"><p>Cancelled  order.</p></a>');
            location.href = '#cancelled';
        },
        onError: function(err) {            
            $('#e').html('<a id = "anchor" name = "anchor"><p>Error.</p></a>');
            location.href = '#error';
        }
    }).render('#button');
}

Я получил такое же сообщение об ошибке, но затем я завернул его в $(document).ready(). и после этого было нормально.

Davor Mlinaric 25.03.2019 13:53
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
1
384
1

Ответы 1

Я получил такое же сообщение об ошибке, и оно появлялось только в Microsoft Edge и IE, и в моем случае это было связано с дополнительным символом пробела в коде java-скрипта/jquery/php ниже -

Я изменил (пробел перед словом "база")

location.href = "<?= base_url(); ?>Property/Transaction/error";

К

location.href = "<?=base_url(); ?>Property/Transaction/error";

Если снова откатить это изменение, эта проблема возникнет, и внедрение этого небольшого изменения решит ее. поэтому я подумал поделиться им. вы также должны проверить наличие специального символа в URL-адресе, который также может вызвать такую ​​​​ошибку при перенаправлении.

Как мне пришло в голову, было связано с другим вопросом о stackoverflow - window.location.href не работает в IE

Другие вопросы по теме