2011-11-18 25 views
15

Tôi đang cố gắng làm cho trang của mình chỉ thực hiện hành động nếu nó thấy một tham số cụ thể có trong url.sử dụng javascript để tìm thông số trong url và sau đó áp dụng nếu sau đó lôgic

tôi chủ yếu muốn mã javascript để làm điều này:

xem xét một trang ví dụ như: http://www.example.com?track=yes

Nếu một tải trang có chứa tham số 'theo dõi' trong url, in 'ca khúc tồn tại' , khác nếu tham số 'theo dõi' không tồn tại in 'ca khúc không tồn tại'

+0

ParseURI !! http://blog.stevenlevithan.com/archives/parseuri – dm03514

Trả lời

35

này nên làm việc:

if (window.location.search.indexOf('track=yes') > -1) { 
    alert('track present'); 
} else { 
    alert('track not here'); 
} 
+0

cảm ơn bạn - hoạt động như một sự quyến rũ –

0

Bạn có thể sử dụng window.location.search tài sản:

if(/(^|&)track(&|$)/.test(window.location.search.substring(1))) { 
    alert('track exists!'); 
} else { 
    alert('it doesn\'t...'); 
} 
4

Sử dụng một cái gì đó giống như hàm từ câu trả lời Artem trong này SO post:

if (getParameterByName('track') != '') { 
    alert ('run track'); 
} 
1

Nó không khó để chia tay chuỗi truy vấn để tìm các bit có liên quan:

var path = location.substr(1), // remove ? 
    queryBits = path.split('&'), 
    parameters = {}, 
    i; 

for (i = 0 ; i < queryBits.length ; i++) { 
    (function() { // restrict keyval to a small scope, don't need it elsewhere 
     var keyval = queryBits[i].split('='); 
     parameters[decodeURIComponent(keyval[0])] = decodeURIComponent(keyval[1]); 
    }()); 
} 

// parameters now holds all the parts of the URL as key-value pairs 

if (parameters.track == 'yes') { 
    alert ('track exists'); 
} else { 
    alert ("it doesn't"); 
} 
Các vấn đề liên quan