我正在制作一个Chrome扩展程序,需要它来在网页上找到任何表单文本框。
我首先尝试在内容脚本中执行此操作,例如:
document.getElementsByTag("text");
但是它总是返回undefined
,所以我假设它只在搜索my_app.html
。
我的第一个问题是我应该使用什么功能:GetElmentsByTag,按名称,按className或与其他功能一起使用?
我的第二个问题是我需要搜索哪个JavaScript文件?其他存在类似问题的论坛表示,您需要访问另一个文件(如背景或弹出窗口)中的DOM,然后将其与消息和侦听器一起发送到内容脚本。
答案 0 :(得分:0)
首先,您正在调用一个不存在的函数。您可能是指Document.getElementsByTagName()
或Document.querySelectorAll()
,如此处所示:
console.log(document.getElementsByTagName);
console.log(document.querySelectorAll);
console.log(document.getElementsByTag);
此外,您的选择器有误:没有<text>
HTML元素。
如果要使用所有type
属性(text
,password
,search
,radio
,{{1 }},...),则可以使用以下任何一种方式:
checkbox
如果您只想要document.getElementsByTagName('input');
document.querySelectorAll('input');
的特定类型,例如<input>
,则可以:
text
最后,如果您想要document.querySelectorAll('input[type="text"]')
的不同类型,则可以将多个选择器与,
连接:
<input>