【问题标题】:appAPI.request not working in IE for Popup crossriderappAPI.request 在 IE 中无法用于 Popup crossrider
【发布时间】:2015-02-04 12:28:52
【问题描述】:

在带有 crossrider 的弹出扩展中工作,它在 FF 和 GC 中工作正常,但在 IE 中它通过此代码块而不执行(尝试但在之前和之后发出警报消息并且全部触发)

...    
appAPI.request.get({ url: WebServiceUrl + encodeURIComponent(searchWord),
                        onSuccess: function(entryString) {
                            var entry = JSON.parse(entryString);
                            if(entry.SearchResults == "NoResult")
                            {           
                                EmptySearch();
                                def.innerHTML = noResultMessage;
                            }
                            else
                            {   
                                DisplayData(searchWord.toString(), entry);
                            }
                        },
                        onFailure: function(httpCode) {
                             EmptySearch();
                             def.innerHTML = ConnectionErrorMessage;
                        },
                        contentType: 'application/json'
                        });

了解更多详情:在 Win 7、IE 11 中工作

【问题讨论】:

  • appAPI.request.get 是一种异步方法,在完成之前将控制权传递给下一条语句。由于您收到“之后”消息,因此请求已发送,您可能遇到的是未触发回调。这里没有足够的信息来确定原因(例如服务器没有响应),因此为了提供适当的帮助,请提供 WebServiceUrl 和示例 searchWord。如果您希望将此保密,请提供扩展 ID,我可以查看。 [披露:我是 Crossrider 的员工]
  • 回调在 FF 和 GC 中被触发,所以这不是服务器问题,反正 Id=70700
  • 我过去曾见过与此类似的情况,即 IE 在与服务器的通信方面有不同的期望。我并不是说这是这里的问题,只是说它是众多问题之一。我现在要离线,但我明天会调查一下。

标签: internet-explorer crossrider


【解决方案1】:

感谢您提供的其他信息。

查看您的扩展弹出代码,我可以看到您正在使用 jQuery 来更新 HTML 中 img 标记的 src 属性。虽然这适用于其他浏览器,但在 Internet Explorer 中执行此操作存在一个已知问题。

要解决此问题,请使用appAPI.browserAction.setPopup 文档中警告说明中描述的方法,即在弹出页面的 HTML 部分中为图像(例如 div)使用占位符元素,然后动态将图像添加到其中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    相关资源
    最近更新 更多