Dzisiaj trafiłem na następujący adres URL:
http://www.sfgate.com/cgi-bin/blogs/inmarin/detail??blogid=122&entry_id=64497
Zwróć uwagę na podwójny znak zapytania na początku ciągu zapytania:
??blogid=122&entry_id=64497
Wydawało się, że moja przeglądarka nie ma z tym żadnych problemów i uruchomiła szybką zakładkę:
javascript:alert(document.location.search);
właśnie podał mi ciąg zapytania pokazany powyżej.
Czy to jest prawidłowy adres URL? Powodem, dla którego jestem tak pedantyczny (zakładając, że jestem), jest to, że muszę analizować takie adresy URL pod kątem parametrów zapytania, a obsługa podwójnych znaków zapytania wymagałaby pewnych zmian w moim kodzie. Oczywiście, jeśli są na wolności, będę musiał ich wspierać; Jestem głównie ciekawy, czy to moja wina, że nie przestrzegam dokładnie standardów adresów URL, czy w rzeczywistości jest to niestandardowy adres URL.
indexOf()
do zlokalizowania znaku zapytania, więc podniosło pozycję pierwszego wystąpienia. Następnie dzielę parametry query_parameters na każdym,&
a następnie ich pary nazwa / wartość na każdym=
.