我正在创建Chrome扩展程序,可以访问页面的DOM并获取某些输入的值。 问题是在我想要访问content_script中的输入文本的值的页面中我得到:
无法阅读财产' val'为null
因为,输入是从我无法修改的js文件动态生成的。
我把:" run_at" :" document_end"在我的清单文件和内容脚本中,我等待页面完全加载
window.addEventListener("load", function load(event){
window.removeEventListener("load", load, false); //remove listener, no longer needed
// $("input[name$='incident.state']").val();
var element =$('#incident.state').val();
alert(element);
},false);
答案 0 :(得分:1)
由于您已经提到输入是动态生成的,因此onload
事件触发时可能仍然不存在。如果您不想使用setTimeout
之类的内容来推迟检索元素,则可以使用MutationObserver
来对DOM中的更改做出反应,例如observing the input being inserted。