Estoy tratando de crear una extensión de Chrome que necesita acceder al valor de una etiqueta <p> específica de un elemento html usando document.getElementById sin abrir o cargar la página. Por ejemplo, podría querer ver cuál es el marcador de posición para la barra de búsqueda en la página de inicio de Google usando la identificación de "entrada".
Imagen del ejemplo de la barra de búsqueda de Google
Suponga que el valor del marcador de posición cambiará. Quiero obtener el marcador de posición sin tener que abrir la nueva pestaña de Chrome cada vez que quiero acceder a la información.
Creo que esto se puede hacer usando el trabajador de servicio/script de fondo de la extensión de Chrome (estoy usando el manifiesto 3), pero no puedo averiguar cómo hacerlo. También estoy abierto a cualquier forma simple de javascript para hacer esto.
Además, encontré esta pregunta que decía usar JQuery (que quiero evitar pero usaré como último recurso) o usar algún código que no funcionó para mí. También encontré este artículo sobre el uso de secuencias de comandos de fondo en extensiones de Chrome, pero está orientado a poner datos en un formulario en lugar de sacar datos de la etiqueta y está en el manifiesto 2.
Hasta ahora, el único código que tengo es obtener la solicitud y abrir la página. No estoy seguro de qué hacer a continuación para obtener el elemento específico.
var request = new XMLHttpRequest(); request.open("GET","http://www.example.org/example.txt");En la pregunta que vinculó , la respuesta proporcionó un conjunto de instrucciones para completar la tarea usando JQuery , pero solo puede usar javascript de vainilla. Solo necesita cambiar los pasos 1, 6 y 7.
1: obtenga HTML de la página mediante una solicitud de obtención conXMLHttpRequest en lugar de $.get()
6: serialice los datos del formulario usando FormData en lugar de .serialize()
7: Publique datos serializados usando una solicitud de publicación nuevamente conXMLHttpRequest en lugar de $.post() y tenga una función para obtener la respuesta.