0

我有一个关于消息传递(content_script.js发送请求和background.html发送响应)和JQuery $(document).ready()函数之间执行控制的问题。谷歌浏览器扩展消息传递run_at document_start

我已经在清单文件中根据doc设置了“run_at”:“document_start”。 content_script.js将在css之后和任何脚本之前执行。在这种情况下,比如content_script.js改变html页面的背景颜色,可以改变页面颜色的函数将在任何脚本之前被调用。

我的问题是关于content_script.js和background.html之间的消息传递。

如果我在下面是正确的: 例如

chrome.extension.sendRequest({storage: 'foo'}, function(response) { 
     runAfterResponseReceived();}); 

在content_script.js定义的事件,任何脚本运行之前请求将被发送到后台页面。只要发送此请求,就可以运行其他脚本,而不必等待响应返回(解除阻止)。所以当响应返回时,content_script.js找到空闲时间,并执行函数runAfterResponseReceived()。

然后,我怎样才能改变这个阻塞行为,所以我可以让“任何脚本”在响应返回后执行。

我希望我已经解释了我的问题。 谢谢。

回答