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

Chrome extension - run script after JS function call

本文关键字:函数调用 运行 脚本 JS 扩展 程序 Chrome      更新时间:2023-09-26

我有一个有趣的问题,我想要一个我正在构建的Chrome扩展程序,以便在调用某个JS函数后修改DOM。

我正在构建的扩展只是修改戴尔笔记本电脑保修查找页面上显示的日期。

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

要获取保修信息,我需要单击"保修"链接,然后输入正确的验证码。 单击"提交"按钮会触发对戴尔网站上的submitCaptcha()调用,调用此功能,我希望我的分机将显示的日期更改为其他格式。

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

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

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

有什么想法吗?

好吧,我对chrome extensions了解不多,但这里有一个想法!

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

像这样(它会在你的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
});

这样行得通吗?希望对您有所帮助!