Estoy creando una extensión de Chrome y una de las acciones es volver a cargar la pestaña actual después de cambiar la URL. Este es el código a continuación:
submitChoices.addEventListener("click", async () => { let [tab] = await chrome.tabs.query({ active: true, currentWindow: true }); let url = fieldChoices(tab); // This returns the new Url based on some choices chrome.tabs.query({ active: true, currentWindow: true }, function () { chrome.tabs.update(tab.id, { url }); chrome.tabs.onUpdated.addListener(function () { chrome.tabs.reload(); // Issue seems to be here }); }); });El problema que tengo es que chrome.tabs.reload(); parece estar atrapado en un bucle. La pestaña continúa recargándose y solo se detiene después de que cambio de pestaña o cambio el foco a otra ventana/aplicación. ¿Algun consejo? ¡Gracias!
Su código es un poco confuso, con muchas partes que no necesita. Sigue recargando porque el oyente onUpdated comienza de nuevo cada vez. Pero no necesita el oyente en absoluto, y no necesita las segundas tabs.query . Consulta que ni siquiera está usando:
submitChoices.addEventListener("click", async () => { let [tab] = await chrome.tabs.query({ active: true, currentWindow: true }); let url = fieldChoices(tab); // This returns the new Url based on some choices chrome.tabs.update(tab.id, { url }); });