]> source.dussan.org Git - jquery.git/commitdiff
Tests: Skip the "jQuery.ajax() on unload" test in Safari
authorMichał Gołębiowski-Owczarek <m.goleb@gmail.com>
Wed, 2 Sep 2020 16:04:44 +0000 (18:04 +0200)
committerGitHub <noreply@github.com>
Wed, 2 Sep 2020 16:04:44 +0000 (18:04 +0200)
The test has been already skipped in Chrome as it dropped support for such
requests and now Safari has joined the squad.

This will resolve AJAX test errors we've had for a while in Safari 13 & iOS 13.

Closes gh-4779

test/unit/ajax.js

index fe831d0b1a723824ba27ccebd808c6c16fa9df3e..db0af6cecdfb5fe1c2d6a6c78f5c6fb234db1c42 100644 (file)
@@ -2280,7 +2280,10 @@ if ( typeof window.ArrayBuffer === "undefined" || typeof new XMLHttpRequest().re
        // Chrome 78 dropped support for synchronous XHR requests inside of
        // beforeunload, unload, pagehide, and visibilitychange event handlers.
        // See https://bugs.chromium.org/p/chromium/issues/detail?id=952452
-       if ( !/chrome/i.test( navigator.userAgent ) ) {
+       // Safari 13 did similar changes. The below check will catch them both.
+       // Edge Legacy fakes Chrome which fakes Safari in their user agents so we need
+       // to exclude Edge specifically here so that the test continues to run there.
+       if ( !/safari/i.test( navigator.userAgent ) || /edge\//i.test( navigator.userAgent ) ) {
                testIframe(
                        "#14379 - jQuery.ajax() on unload",
                        "ajax/onunload.html",