Javascript window.location.reload();陷入无限循环
我希望这个函数在所有项目之间循环,如果它找到了要加载其页面的正确项目,如果它没有找到正确的项目,它应该重新加载页面并进行循环。当我删除window.location.reload()时;它通常加载到项目页面。代码如下:Javascript window.location.reload();陷入无限循环,javascript,google-chrome,for-loop,dom,window.location,Javascript,Google Chrome,For Loop,Dom,Window.location,我希望这个函数在所有项目之间循环,如果它找到了要加载其页面的正确项目,如果它没有找到正确的项目,它应该重新加载页面并进行循环。当我删除window.location.reload()时;它通常加载到项目页面。代码如下: var item_name = "Washed"; var item_color = "Red"; function pickItem() { let items = document.getElementsByClassName
var item_name = "Washed";
var item_color = "Red";
function pickItem() {
let items = document.getElementsByClassName("name-link");
for(i = 0; i < items.length; i++) {
if((items[i].innerHTML).includes(item_name)) {
for(j = 0; j < items.length; j++) {
if((items[j].innerHTML).includes(item_color)) {
if(items[i].href == items[j].href) {
window.location.assign(items[i, j].href);
}
}
}
}
}
window.location.reload();
}
var item_name=“Washed”;
var项目\u color=“红色”;
函数pickItem(){
让items=document.getElementsByClassName(“名称链接”);
对于(i=0;i
在下面的表格中,它可以按照我的要求工作,但是为什么它需要chrome.storage功能才能工作呢?(我以前在chrome.storage中使用过它,但是它对于我来说太慢了,所以我不得不更改它。)
var item_name=“Washed”;
var项目\u color=“红色”;
函数pickItem(){
让items=document.getElementsByClassName(“名称链接”);
chrome.storage.sync.get([“itemName”,“color”],函数(数据){
对于(i=0;i
我建议添加一个布尔变量,指示是否找到了要导航到的位置,并将对window.location.reload()的调用包装在检查变量状态的if块内
e、 g
函数pickItem(){
让items=document.getElementsByClassName(“名称链接”);
让发现=错误;
对于(i=0;i
var item_name = "Washed";
var item_color = "Red";
function pickItem() {
let items = document.getElementsByClassName("name-link");
chrome.storage.sync.get(["itemName", "color"], function(data) {
for(i = 0; i < items.length; i++) {
if((items[i].innerHTML).includes(item_name)) {
for(j = 0; j < items.length; j++) {
if((items[j].innerHTML).includes(item_color)) {
if(items[i].href == items[j].href) {
window.location.assign(items[i, j].href);
chrome.storage.sync.set({"item_url": items[i, j].href});
}
}
}
}
}
})
window.location.reload()
}
function pickItem() {
let items = document.getElementsByClassName("name-link");
let found = false;
for (i = 0; i < items.length; i++) {
if ((items[i].innerHTML).includes(item_name)) {
for (j = 0; j < items.length; j++) {
if ((items[j].innerHTML).includes(item_color)) {
if (items[i].href == items[j].href) {
found = true;
window.location.assign(items[i, j].href);
}
}
}
}
}
if (!found) {
window.location.reload();
}
}