【问题标题】:chrome extension Get the value of generated inputchrome扩展获取生成输入的值
【发布时间】:2016-12-17 02:52:47
【问题描述】:

我正在创建一个 chrome 扩展来访问页面的 DOM 并获取一些输入的值。 问题出在我想在我的 content_script 中访问输入文本的值的页面中:

无法读取 null 的属性“val”

因为,输入是从我无法修改的 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);

【问题讨论】:

  • 使用the debugger:在该行设置断点并在元素面板中检查页面源。还要确保在内容脚本之前注入 jQuery。
  • 我已经在开始时将 jquery 添加到我的内容脚本中

标签: javascript jquery google-chrome google-chrome-extension


【解决方案1】:

由于您提到输入是动态生成的,因此当onload 事件触发时,它可能仍然不存在。如果您不想使用 setTimeout 之类的东西来推迟检索元素,您可以使用 MutationObserver 来响应 DOM 中的更改,例如,observing the input being inserted

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-30
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多