从注入的脚本中获取Chrome扩展程序调用函数

开发K

我使用内容脚本(此处提到的技术)将两个.js文件(例如a.js和b.js)注入到网页中:

从内容脚本访问窗口变量

function injectScript(file, node) {
    var th = document.getElementsByTagName(node)[0];
    var s = document.createElement('script');
    s.setAttribute('type', 'text/javascript');
    s.setAttribute('src', file);
    th.appendChild(s);
}
injectScript( chrome.extension.getURL('/js/my_file.js'), 'body');

两次脚本注入均成功。现在,“ a.js”具有一个称为FuncA(){}的函数。现在,当我尝试从b.js调用FuncA()时,出现以下错误。

b.js:6 Uncaught ReferenceError: FuncA is not defined
可汗

一个适当的处理这种方式是依靠回调,不是任意的超时。

function injectScript(file, node, callback) {
    var th = document.getElementsByTagName(node)[0];
    var s = document.createElement('script');
    s.setAttribute('type', 'text/javascript');
    s.setAttribute('src', file);
    if (typeof callback == "function") {
      s.onload = function() { callback(); };
    }
    th.appendChild(s);
}

injectScript( chrome.extension.getURL('/js/a.js'), 'body', function() {
  injectScript( chrome.extension.getURL('/js/b.js'), 'body');
});

使用任意选择的500ms延迟,您可能会面临等待时间过长或在某些极端情况下等待时间不足的风险。通过依靠onload脚本标记的事件,您可以确切地知道它何时完成执行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Chrome扩展程序注入脚本获取错误

来自分类Dev

Chrome扩展程序注入脚本获取错误

来自分类Dev

从网站调用Chrome扩展程序中的函数

来自分类Dev

从Chrome扩展程序调用Google Apps脚本

来自分类Dev

如何确定脚本是否已经从Chrome扩展程序注入到文档中

来自分类Dev

在chrome扩展程序中,如何使用内容脚本注入Vue页面

来自分类Dev

无法通过Chrome扩展程序中的内容脚本使onclick在注入的按钮上起作用

来自分类Dev

如何从注入的脚本中调用函数?

来自分类Dev

Chrome扩展程序:检查内容脚本是否已注入

来自分类Dev

将按钮注入网站(Chrome扩展程序内容脚本)

来自分类Dev

Chrome扩展程序的内容脚本未注入特定网站

来自分类Dev

Chrome邮件扩展程序:从注入脚本到后台

来自分类Dev

动态地注入内容脚本 - Chrome扩展程序

来自分类Dev

Chrome扩展程序的内容脚本未注入特定网站

来自分类Dev

Chrome邮件扩展程序:从注入脚本到后台

来自分类Dev

Chrome扩展程序引用/调用内容脚本中的其他脚本功能

来自分类Dev

Chrome扩展程序后台脚本中的AngularJS

来自分类Dev

在Chrome扩展程序中停止内容脚本

来自分类Dev

Chrome扩展程序中的Google Apps脚本?

来自分类Dev

Chrome扩展程序注入iframe

来自分类Dev

Chrome扩展程序拒绝加载Jquery脚本/进行JSON调用

来自分类Dev

Chrome扩展程序:需要时调用内容脚本

来自分类Dev

Chrome扩展程序后台页面以编程方式注入的内容脚本多次注入

来自分类Dev

如何在Chrome扩展程序内容脚本中获取错误堆栈跟踪?

来自分类Dev

如何在Chrome扩展程序内容脚本中获取错误堆栈跟踪?

来自分类Dev

在Google Chrome扩展程序中获取JSON

来自分类Dev

如何从Chrome扩展程序调用网页上的javascript函数?

来自分类Dev

如何从Chrome扩展程序调用页面的javascript函数?

来自分类Dev

来自 chrome 扩展程序的注入脚本多次返回值

Related 相关文章

  1. 1

    Chrome扩展程序注入脚本获取错误

  2. 2

    Chrome扩展程序注入脚本获取错误

  3. 3

    从网站调用Chrome扩展程序中的函数

  4. 4

    从Chrome扩展程序调用Google Apps脚本

  5. 5

    如何确定脚本是否已经从Chrome扩展程序注入到文档中

  6. 6

    在chrome扩展程序中,如何使用内容脚本注入Vue页面

  7. 7

    无法通过Chrome扩展程序中的内容脚本使onclick在注入的按钮上起作用

  8. 8

    如何从注入的脚本中调用函数?

  9. 9

    Chrome扩展程序:检查内容脚本是否已注入

  10. 10

    将按钮注入网站(Chrome扩展程序内容脚本)

  11. 11

    Chrome扩展程序的内容脚本未注入特定网站

  12. 12

    Chrome邮件扩展程序:从注入脚本到后台

  13. 13

    动态地注入内容脚本 - Chrome扩展程序

  14. 14

    Chrome扩展程序的内容脚本未注入特定网站

  15. 15

    Chrome邮件扩展程序:从注入脚本到后台

  16. 16

    Chrome扩展程序引用/调用内容脚本中的其他脚本功能

  17. 17

    Chrome扩展程序后台脚本中的AngularJS

  18. 18

    在Chrome扩展程序中停止内容脚本

  19. 19

    Chrome扩展程序中的Google Apps脚本?

  20. 20

    Chrome扩展程序注入iframe

  21. 21

    Chrome扩展程序拒绝加载Jquery脚本/进行JSON调用

  22. 22

    Chrome扩展程序:需要时调用内容脚本

  23. 23

    Chrome扩展程序后台页面以编程方式注入的内容脚本多次注入

  24. 24

    如何在Chrome扩展程序内容脚本中获取错误堆栈跟踪?

  25. 25

    如何在Chrome扩展程序内容脚本中获取错误堆栈跟踪?

  26. 26

    在Google Chrome扩展程序中获取JSON

  27. 27

    如何从Chrome扩展程序调用网页上的javascript函数?

  28. 28

    如何从Chrome扩展程序调用页面的javascript函数?

  29. 29

    来自 chrome 扩展程序的注入脚本多次返回值

热门标签

归档