与chrome扩展同步通信

时间:2014-10-07 21:13:29

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

我正在寻找一种从Chrome扩展程序同步发送和接收消息的方法。我们的想法是以同步方式从传统网页(网络应用程序)调用我的扩展程序中定义的功能,这样我就不必在收到结果之前等待。

不幸的是,我读了Synchronous message passing in chrome extensions?https://code.google.com/p/chromium/issues/detail?id=135095。两人都说不可能。

但我认为XMLHttpRequest可以进行同步调用。

我知道这肯定不可能,但我还是要问..是否有办法以这样的方式使用XMLHttpRequest对象,以便我们可以与扩展同步通信?

1 个答案:

答案 0 :(得分:0)

我很抱歉,但答案仍然是没有。我不明白为什么使用XMLHttpRequests可以帮助进行与Chrome API完成(异步)的任何操作,但我们假设你有一些content_script.js在某个页面内运行,你需要向background.js发送消息。 如何使用XMLHttpRequest来完成此操作?background.js发出请求不会让您有机会运行其代码,只能阅读它。这是因为background.js中使用的大多数API方法在内容脚本中都不可用。这与Chrome扩展程序中发生的任何其他异步操作相同。

因此,问题在于 Chrome扩展程序无法使用XMLHttpRequest在其环境中进行通信,因此,您无法以这种方式使用它们。