Chrome扩展程序 - 在JS函数调用后运行脚本

时间:2015-01-22 01:37:51

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

我有一个有趣的问题,我希望在调用某个JS函数后构建一个Chrome扩展来修改DOM。

我所在的扩展程序只是修改戴尔笔记本电脑保修查询页面上显示的日期。

以下是戴尔的示例保修查找页面:http://www.dell.com/support/home/us/en/04/product-support/servicetag/FM4Z9S1

要获得保修信息,我需要点击"保修"链接,并输入正确的验证码。单击"提交"按钮触发了对戴尔网站submitCaptcha()的通话, 此功能被调用后,我希望我的扩展程序将显示的日期更改为其他格式。

我之前使用的内容脚本如下所示:

"matches": ["*://*/*"],
"js": ["content_script.js"],
"run_at": "document_end"

但是,由于我想要修改的日期不在DOM上,直到调用页面上的submitCaptcha()函数,然后在" document_end"运行脚本。不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

我对chrome extensions了解不多,但这是一个想法!

您可以使用chrome.tabs.executeScript()功能修改提交onclick的内联<button>属性。

像这样(它会出现在你的content_script.js文件中):

var tabIndex = yourtabindex;
var injectedCode = "\
  var button = document.getElementById('btnSubmitCaptchawarranty')\
  button.setAttribute( 'onclick' , 'submitCaptcha(); yourfunc(); return false;' );\
  function yourfunc(){\
      (..)\
  }\
";


chrome.tabs.executeScript(tabIndex,{
    code:injectedCode
});

那会有用吗?希望它有所帮助!