2010-09-25 6 views
0

Nouveau chez js ici. Fondamentalement, je suis en train de détecter l'existence d'une chaîne dans la présente URL de la page avec ceci:Pourquoi ce javascript simple ne fonctionne-t-il pas?

var url = window.location; 
var param = /\?provider=/i; 
if (url.search(param) != -1) { 
    alert('it does exist'); 
} else 
    alert('it does not exist'); 

Il fonctionne lorsque je définis manuellement la variable URL comme si

var url = 'http://google.com?provider=' 

mais lorsque je tente de saisir il dynamiquement comme dans le script ci-dessus cela ne fonctionne pas, est-il possible de le faire fonctionner?

Répondre

2

Vous voulez la propriété href sur l'objet de l'emplacement, comme celui-ci:

var url = window.location.href; 
var param = /\?provider=/i; 
if (url.search(param) != -1) { 
    alert('it does exist'); 
} else 
    alert('it does not exist'); 

location est pas une chaîne, il est un objet, et ne pas la méthode .search(), .href est la chaîne qui fait .

+0

+1. Vous pouvez également faire '.toString()' qui fonctionne sur tous les objets. –

Questions connexes