28 Ocak 2009, ÇARŞAMBA
JavaScript ile URL parametre ekleme
AJAX çağrıları kullanan bir web uygulamasında, bir istek gönderin ama örneğin URL sonuna bir parametre eklemek istiyorum
Orijinal URL:
URL sonuç:
http://server/myapp.php?id=10&etkin=true
Hangi JavaScript işlevi için zaten varsa, URL her parametre bakarak ayrıştırır, yeni bir parametre veya güncellemeleri değeri ekler.
CEVAP
28 Ocak 2009, ÇARŞAMBA
Uyum için ihtiyacınız olan temel bir uygulama, bu gibi bir şey olacaktır:
function insertParam(key, value)
{
key = encodeURI(key); value = encodeURI(value);
var kvp = document.location.search.substr(1).split('&');
var i=kvp.length; var x; while(i--)
{
x = kvp[i].split('=');
if (x[0]==key)
{
x[1] = value;
kvp[i] = x.join('=');
break;
}
}
if(i<0) {kvp[kvp.length] = [key,value].join('=');}
//this will reload the page, it's likely better to store this until finished
document.location.search = kvp.join('&');
}
Bu düzenli ifade veya arama tabanlı bir çözüm olarak yaklaşık iki kat daha hızlıdır, ama bu tamamen sorgu dizesi uzunluğu ve herhangi bir maç dizini bağlıdır
karşı karşılaştırılan yavaş normal ifade yöntemi tamamlanmış sake (150% daha yavaş yaklaşık)
function insertParam2(key,value)
{
key = encodeURIComponent(key); value = encodeURIComponent(value);
var s = document.location.search;
var kvp = key "=" value;
var r = new RegExp("(&|\\?)" key "=[^\&]*");
s = s.replace(r,"$1" kvp);
if(!RegExp.$1) {s = (s.length>0 ? '&' : '?') kvp;};
//again, do what you will here
document.location.search = s;
}
Bunu Paylaş:
JavaScript bir işlev için varsayılan p...
Seçeneğini kullanarak bir WordPress ku...
Bir JavaScript fonksiyonu parametre ol...
-Click, ng işlev içinde ekleme paramet...
Nasıl javascript kullanarak dinamik ol...