【问题标题】:undefined after message passing in chrome extension在 chrome 扩展中传递消息后未定义
【发布时间】:2013-10-27 20:38:53
【问题描述】:

我有一个大问题。我希望之后我的脚本会完成:p

如有必要,我可以发布脚本。

基本上这就是我一直在做的事情。

  1. 转到某个网页并通过 content.js 获取链接

  2. 将这些链接作为数组传递给 background.js

  3. background.js 检查预定义链接表的 websql 数据库并存储在数组中。

  4. 在 background.js 中找到两个数组的交集

  5. 将interected数组发回content.js

  6. content.js 将用背景颜色突出显示这些链接.. 但直到我重新加载网页后才会发生这种情况..

第一次尝试时我没有得到 interected 数组。因为延迟。

我现在该怎么办? :( :'( 请帮帮忙pppppp.

【问题讨论】:

  • 我还必须使用 setTimeout 才能使我的 intersect 函数正常工作。数据库查询需要时间才能得到结果 db_links a_links 是从网页抓取的链接 这里有一些代码作为线索 setTimeout(function(){ found_links = intersect(a_links,db_links); },1000); sendResponse({backgroundMsg:found_links[2]}); //使用字符串而不是数组进行测试。

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


【解决方案1】:

没有代码问题不清楚,但据我了解,我假设您正在使用 ajax 调用从数据库中获取详细信息,当结果到达客户端时,下一个函数需要数据库中的数据完成。如果是这种情况,我建议为此目的使用消息传递。一旦在客户端接收到数据,您就可以从扩展程序向客户端发送消息。收到消息后可以处理数据,这应该可以解决您的问题。

【讨论】:

    猜你喜欢
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 1970-01-01
    相关资源
    最近更新 更多