SecurityError: заблокирована попытка использовать History.replaceState() для изменения URL-адреса истории сеанса

Я работаю над банковским проектом на платформе Cordova. В соответствии с недавней политикой Apple, я собрал пакет из Xcode 15.4 и среды выполнения iOS 17+.

Мое приложение работало нормально, когда я использовал Xcode 14.2 и версию среды выполнения 16.2. Но после обновления до последней версии я столкнулся с ошибкой ниже.

SecurityError: заблокирована попытка использовать History.replaceState() для изменения URL-адреса истории сеанса. Для URL-адресов file: допускаются только различия в запросе и фрагменте.

с использованием

[email protected]
jquery v3.6.0
jquery-mobile 1.5.0

Я пробовал $pushEnableState = false, но не получилось.

Пожалуйста, предложите любое другое решение. К вашему сведению, я не могу использовать обновление версии Cordova-IOS, вместо этого мне нужно решение для той же версии, то есть 3.6.3.

Заранее спасибо.

Пожалуйста, предоставьте минимально воспроизводимый пример.

Twisty 17.06.2024 03:47
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
1
1
114
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это решение сработало для меня.

Отключен pushEnableState в index.html перед вызовом файла jQuery js. Вот фрагмент.

<script type = "text/javascript" src='jquery/jquery.min.js'>
</script>
<script>
    $(document).on("mobileinit", function() {
      /* Disable pushState to avoid replaceState issues */
      $.mobile.pushStateEnabled = false;
    });
</script>
<script type = "text/javascript" src='jquery/mobile/jquery.mobile-1.5.0-alpha.1.min.js'>
</script>

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