Jedna z wad występuje, gdy adresy URL są wyświetlane poza kontekstem strony internetowej. Na przykład wiadomość e-mail umieszczona w kliencie poczty e-mail (powiedzmy Outlook) nie zawiera adresu URL, a podczas przeglądania wiadomości zawierającej adres URL protokołu nie ma w ogóle oczywistego kontekstu protokołu (sama wiadomość jest niezależna) protokołu używanego do pobierania, niezależnie od tego, czy jest to POP3, IMAP, Exchange, uucp czy cokolwiek innego), więc adres URL nie ma protokołu, z którym należy się względnie. Nie badałem kompatybilności z klientami poczty e-mail, aby zobaczyć, co robią, gdy prezentowane są z brakującym narzędziem obsługi protokołu - domyślam się, że większość zgadnie na http. Firma Apple Mail odmawia podania adresu URL bez protokołu. Jest to analogiczne do sposobu, w jaki względne adresy URL nie działają w wiadomościach e-mail z powodu podobnie brakującego kontekstu.
Podobne problemy mogą wystąpić w innych kontekstach innych niż HTTP, takich jak w tweety, wiadomości SMS, dokumentów Worda itp
Im bardziej ogólne wyjaśnienie, że anonimowe adresy protokołu nie może pracować w odosobnieniu; tam musi być odpowiednim kontekstem. Na typowej stronie internetowej tak dobrze jest wciągnąć bibliotekę skryptów w ten sposób, ale wszelkie linki zewnętrzne powinny zawsze określać protokół. Spróbowałem jednego prostego testu: //stackoverflow.com
map do file:///stackoverflow.com
we wszystkich przeglądarkach, które wypróbowałem, więc one naprawdę nie działają same.
czy to spowalnia witrynę ??? – TheBlackBenzKid
nie ma powodu, aby miało to jakikolwiek wpływ na wydajność, z wyjątkiem przypadków, które Meder podał poniżej w swojej odpowiedzi. –
Wygląda na coś. Kilka miesięcy temu Google Developers zaczęli używać tej konwencji na stronie hostowanych bibliotek JavaScript. Https://developers.google.com/speed/libraries/devguide –