【问题标题】:javascript auto fill form extensionjavascript自动填写表单扩展
【发布时间】:2018-09-11 12:57:57
【问题描述】:

我有一个页面,我不想用我的数据填充它。 (自动填充镀铬扩展)。 我尝试使用 vanilla javascript 和 JQuery,但它们都不起作用。

这是我的代码:

$('#control_8 option[value=14401]').attr('selected', 'selected').trigger('change');

这里我使用 trigger(),所以在选择一个选项后,它会在它的子类别中加载所有项目。 当我在控制台中运行此代码时 - 它可以工作。但是,如果我从 chrome 扩展程序运行它,它会选择但触发器不起作用。 求救。

【问题讨论】:

  • chrome扩展什么时候执行代码? DOM 是否真的完全加载了?你可以在那里使用$(document).ready() 来延迟执行吗?
  • 是的。我也试过了,还加了setTimeout函数,还是不行……
  • 我在前几天为我编写的扩展程序中遇到了类似的问题。 “更改”处理程序调用了一个函数,该函数进行了一些计算并将输出呈现给 dom。扩展无法访问该计算代码,因为扩展位于不同线程上的孤立世界中。 javascript 可以影响 html 并注入 css,但它不能篡改页面上的 javascript。这是你遇到的问题吗?

标签: javascript jquery google-chrome


【解决方案1】:

我猜您的触发函数存在选择器问题。 拆分代码并按以下方式尝试触发功能

$('#control_8 option[value=14401]').attr('selected', 'selected');
$('Your selector').trigger('change');

【讨论】:

    猜你喜欢
    • 2017-02-05
    • 2013-07-30
    • 2010-11-04
    • 2015-10-01
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多