7

I have this so far:

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.example.com\/version.php/i')) 
    {
        document.getElementById('link').innerHTML = '<p>' + btn + '</p>';
    }
});

Basically it should match the domain within this:

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

Anything that matches that even when it includes something like version.php?ver=1, etc

When I used the code above of mine, it doesn't display anything, but when I remove the if statement, it's fine but it shows on other pages which it shouldn't only on the matched URL.

EDIT:

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

Doesn't even work somehow...

0

4 Answers 4

7

Try this:

if(tab.url.match(/http\:\/\/www\.example\.com\/version\.php/i)) 
{
    //...
}
Sign up to request clarification or add additional context in comments.

Comments

1

match() should take a RegExp object as argument, not a string. You could probably just remove the single quotes '' from around the expression to make it work. For future reference, you should also escape the periods . in the expression (as it is they will match any single character), and insert a ^ in the beginning to only allow this match in the beginning of the URL.

Comments

1

Remove the quotes. Opera DargonFly gives me:

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

Comments

0

You are creating the RegExp object, but you're not matching it against anything. See here for how to use it (by the way, the syntax is also wrong, it's either /expression/modifiers or RegExp(expression, modifiers)).

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.