Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 与chrome扩展同步通信_Javascript_Google Chrome Extension_Synchronous_Message Passing - Fatal编程技术网

Javascript 与chrome扩展同步通信

Javascript 与chrome扩展同步通信,javascript,google-chrome-extension,synchronous,message-passing,Javascript,Google Chrome Extension,Synchronous,Message Passing,我正在寻找一种从chrome扩展同步发送和接收消息的方法。其想法是以同步方式从传统网页(web应用程序)调用扩展中定义的函数,这样我就不必在收到结果之前等待 不幸的是,我读了又读。他们都说这是不可能的 但是我认为XMLHttpRequest可以进行同步调用 我知道这当然是不可能的,但我还是要问。。是否有一种方法可以使用XMLHttpRequest对象,使我们能够与扩展同步通信?我为您感到抱歉,但答案仍然是否。我不明白为什么使用XMLHttpRequests会有助于进行任何类型的操作,这些操作都是

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

不幸的是,我读了又读。他们都说这是不可能的

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


我知道这当然是不可能的,但我还是要问。。是否有一种方法可以使用XMLHttpRequest对象,使我们能够与扩展同步通信?

我为您感到抱歉,但答案仍然是否。我不明白为什么使用XMLHttpRequests会有助于进行任何类型的操作,这些操作都是通过ChromeAPI(异步)完成的,但是让我们假设您有一些
content\u script.js
在某个页面中运行,并且您需要向
background.js
发送消息您如何通过使用
XMLHttpRequest
实现这一点?
向您的
后台发出请求。js
不会给您运行代码的机会,而只会给您阅读代码的机会。这是因为
background.js
中使用的大多数API方法在内容脚本中都不可用。这对于Chrome扩展中发生的任何其他异步操作都是一样的


所以这里的问题是,Chrome扩展无法使用
XMLHttpRequest
s在其环境中进行通信
,因此,您不能以这种方式使用它们。

谢谢您的回答。我想也许有人会有一些变通办法,但你的回答确实有道理。谢谢again@Sam如果我的答案解决了你的问题,那么就把它标记为正确的,让你的问题很容易找到。