【发布时间】:2012-03-24 11:35:05
【问题描述】:
目前我正在开发一个 Google Chrome 扩展程序,我必须在其中从服务器获取数据。我正在使用 XMLHttpRequest 执行此操作,一切进展顺利,除了当我启动 Google Chrome 并立即单击我的扩展程序时,它在 XMLHttpRequest 完成之前不会打开。请求被发送到一个相当慢的服务器,这就是问题所在。但是有没有一种方法可以让您在另一个线程中运行 XMLHttpRequest,或者 Google Chrome 是否为您提供了另一种从后台运行的服务器获取数据的方法,这样我就可以在它仍然从服务器获取数据的同时打开我的扩展程序?
也许很高兴知道,XMLHttpRequest 在后台页面中运行,而不是在弹出页面中。
【问题讨论】:
-
所有请求都是异步的,所以这听起来像是与扩展框架相关的 UI 问题。 “打不开”是什么意思?弹出窗口不显示?您是单击工具栏还是地址栏中的扩展程序图标?
-
我把异步参数从false改成了true,现在好像可以了。 “它不会打开”是指在请求完成之前弹出窗口不会出现。感谢您的帮助!
-
奇怪的是异步参数设置为 false。异步通常是默认设置。同步 XHR 有点小技巧。另外,如果您输入真实答案并将其标记为已接受,此问题将为将来的扩展开发者提供更多帮助!
标签: google-chrome google-chrome-extension xmlhttprequest