2013-04-27 65 views
1

我已经编写了以下chrome扩展来检测用户所在的URL以及处理来自特定URL的某些数据。 Background.js包含以下代码:然而JavaScript对象返回完整的代码而不是结果

var triggerURL = "http://xxxxxxxxxxxxxxx/"; 

function SearchURL(theURL) { 
    this.URL = theURL; 
    this.checkURLorigin = function() { 
    if (this.URL.indexOf(triggerURL) !== -1) { 
     console.log("you're on the search page"); 
     return true; 
    } 
    else 
     return false; 
    }; 
    this.query = function() { 
    console.log(this.URL); 
    var index = this.URL.indexOf("q="); 
    var searchQuery = this.URL.substr(index + 2); 
    return searchQuery; 
    }; 
} 

chrome.webRequest.onBeforeRequest.addListener(function(details){ 
    var currentSearchURL = new SearchURL(details.url); 
    console.log(currentSearchURL.checkURLorigin); 
    if (currentSearchURL.checkURLorigin) { 
    msg = currentSearchURL.query; 
    console.log("you're on the search page, query = " + msg); 
    } 
}, 
{urls: [triggerURL + "*"], types: ["main_frame"]}, ["blocking"]); 

的console.log显示,在SearchURL对象的代码不被执行,而不是函数的内容打印在控制台中。为什么是这样?

回答

4

你缺少一个()。正确的电话应该是

msg = currentSearchURL.query(); 
+0

这是为我做的,非常感谢! – Bunker 2013-04-27 17:06:44

相关问题