JavaScript对象返回完整的代码而不是结果
问题描述:
我已经编写了以下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对象的代码不被执行,而不是函数的内容打印在控制台中。为什么是这样?
答
你缺少一个()。正确的电话应该是
msg = currentSearchURL.query();
这是为我做的,非常感谢! – Bunker 2013-04-27 17:06:44