Bugün aşağıdaki URL ile karşılaştım:
http://www.sfgate.com/cgi-bin/blogs/inmarin/detail??blogid=122&entry_id=64497
Sorgu dizesinin başındaki ikiye katlanmış soru işaretine dikkat edin:
??blogid=122&entry_id=64497
Tarayıcımda herhangi bir sorun yok gibi görünüyor ve hızlı bir yer imi çalıştırıyor:
javascript:alert(document.location.search);
bana yukarıda gösterilen sorgu dizesini verdi.
Bu geçerli bir URL mi? Bu kadar bilgiçlik taslamamın nedeni (olduğumu varsayarsak), sorgu parametreleri için bu gibi URL'leri ayrıştırmam ve iki katına çıkan soru işaretlerini desteklememin kodumda bazı değişiklikler gerektirmesidir. Açıkçası, eğer vahşi yaşıyorlarsa, onları desteklemem gerekecek; URL standartlarına tam olarak uymamanın benim hatam mı, yoksa aslında standart olmayan bir URL mi olduğunu merak ediyorum.
indexOf()
Soru işaretini bulmak için kullanıyordum , bu yüzden ilk geçtiği yeri aldı. Sonra sorgu_parametrelerini her birine&
ve ardından ad / değer çiftlerini her birine ayırıyorum=
.