2010-05-15 4 views
0

Je possède ce à ce jour:Javascript URL correspondant à regex

chrome.tabs.getSelected(null, function(tab) 
{ 
    var title = tab.title; 
    var btn = '<a href="' + tab.url + '" onclick="save(\'' + title + '\');"> ' + title + '</a>'; 

    if(tab.url.match('/http:\/\/www.mydomain.com\/version.php/i')) 
    { 
     document.getElementById('link').innerHTML = '<p>' + btn + '</p>'; 
    } 
}); 

Fondamentalement, il doit correspondre au domaine dans ce:

http://www.mydomain.com/version.php?* 

Tout ce qui correspond que même quand il comprend quelque chose comme version.php? ver = 1, etc

Lorsque j'ai utilisé le code ci-dessus, il n'affiche rien, mais quand je supprime l'instruction if, ça va, mais ça se voit sur les autres pages seulement sur l'URL correspondante.

EDIT:

if(tab.url.match(/http:\/\/www.mydomain.com\/version.php/i)) 
{ 
    document.getElementById('link').innerHTML = '<p>' + btn + '</p>'; 
} 

ne fonctionne pas même en quelque sorte ...

Répondre

2

Essayez cette

if(tab.url.match(/http\:\/\/www\.mydomain\.com\/version\.php/i)) 
{ 
    //... 
} 
0

Vous créez l'objet RegExp, mais vous ne correspond pas à quoi que ce soit contre. Voir here pour savoir comment l'utiliser (en passant, la syntaxe est également fausse, c'est soit/expression/modificateurs ou RegExp (expression, modificateurs)).

+0

Oh bah moi, oublié d'utiliser le code mis à jour, édité. – BonjourHolaOla

1

Supprimez les guillemets. Opera DargonFly me donne:

>>> 'http://www.mydomain.com/version.php'.match(/^http:\/\/www\.mydomain.com\/version\.php/i) 
[object Array] 
0

match() devrait prendre un objet RegExp comme argument, pas une chaîne. Vous pourriez probablement simplement supprimer les guillemets simples '' de l'expression pour le faire fonctionner. Pour référence future, vous devez également éviter les périodes . dans l'expression (car elles correspondent à n'importe quel caractère unique) et insérer un ^ au début pour autoriser uniquement cette correspondance au début de l'URL.

+0

Donc, fondamentalement, que dois-je utiliser alors? Donner un exemple ... – BonjourHolaOla