在我的代码中,我想检查您所在的页面上是否符合某些要求,执行某些操作
它说它无法获得未定义的toLowerCase
这是我的代码,谢谢
另外,我在清单中有标签权限 此文件在后台运行,我希望它为您打开的每个页面执行
var names = ['hunter5deer', 'pielovingcat', '199MS', 'harrdy']
$(function() {
for (i=0;i<names.length;i++) {
var currentPage;
chrome.tabs.getSelected(null,function(tab) {
currentPage = tab.url;
});
var page;
if (currentPage.toLowerCase().indexOf("item?id=") > -1) {
page = 'seller';
name(page, names[i]);
}
else if (currentPage.toLowerCase().indexOf("showpost.aspx?postid=") > -1) {
page = 'forum';
name(page, names[i]);
}
else if (currentPage.toLowerCase().indexOf("user.aspx?") > -1) {
page = 'profile'
name(page, names[i]);
}
}
});
答案 0 :(得分:1)
chrome.tabs.getSelected
异步执行,因此在设置currentPage
之前if语句正在运行。在回调中移动if语句。
var names = ['hunter5deer', 'pielovingcat', '199MS', 'harrdy']
$(function() {
for (i=0;i<names.length;i++) {
chrome.tabs.getSelected(null,function(tab) {
var currentPage = tab.url;
var page;
if (currentPage.toLowerCase().indexOf("item?id=") > -1) {
page = 'seller';
name(page, names[i]);
}
else if (currentPage.toLowerCase().indexOf("showpost.aspx?postid=") > -1) {
page = 'forum';
name(page, names[i]);
}
else if (currentPage.toLowerCase().indexOf("user.aspx?") > -1) {
page = 'profile'
name(page, names[i]);
}
});
}
});