Fine Uploader-没有从已加载的iframe接收到有效消息,仅IE9

问题描述 投票:0回答:1

[在尝试使用IE9和FineUploader 4.2.2上载时,在现有实现中遇到“从已加载的iframe接收不到有效消息”错误,similar issues with IE8与我的代码有关,未正确设置uuid,此问题已成功解决。]

这些修复程序仍然存在; IE8可以使用,您可以跟踪从帖子到响应的UUID(如下所示),FineUploader仍然可以与IE8,IE11,Chrome和Firefox一起使用。没有IE10参考点。

可以在IE9 v9.0.8112.16421(来自Modern.ie的储备Win7 IE9 VM中复制问题)

[手动选择文件后,F12开发人员工具捕获了两个请求-图像被发布到我的处理程序中,该处理程序返回成功响应,然后返回对“ iframe.xss.response.js”的GET,该请求成功。

打开调试设置,以防它提供更多的见解,下面提供了经过净化的结果-删除了一些内部变量,但未经编辑,标头是从F12开发人员工具粘贴的,因此看起来有些奇怪。

想象一下,我只是缺少一些简单的东西,但是在以后的发行版中解决的一个已知问题总是很少。

更新02/10

经过FineUploader v5.3.2的测试,仍然遇到“ registerPostMessageCallback”(第5001行,fine-uploader.js)记录的相同错误,在“ corsMessageReceiver.receiveMessage”内放置了一个未到达的断点。

向“ iframe.xss.response.js”添加了一些警报,并且对(匹配){...}的测试失败了,但是document.body.innerHTML确实包含内容。

请求

Request POST /Upload HTTP/1.1
Accept  text/html, application/xhtml+xml, */*
Accept-Language en-GB
User-Agent  Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Content-Type    multipart/form-data; boundary=---------------------------7df14d340118
Accept-Encoding gzip, deflate
Content-Length  781830
Connection  Keep-Alive
Cache-Control   no-cache

-----------------------------7df14d340118
Content-Disposition: form-data; name="qquuid"

5489a37c-1cde-4c32-9faa-f9c2532b9ba1
-----------------------------7df14d340118
Content-Disposition: form-data; name="qqfilename"

Koala.jpg
-----------------------------7df14d340118
Content-Disposition: form-data; name="qqfile"; filename="Koala.jpg"
Content-Type: image/jpeg

<Binary File Data Not Shown>
---------------------------7df14d340118--

响应

Response    HTTP/1.1 200 OK
Cache-Control   private
Content-Type    text/html; charset=utf-8
Server  Microsoft-IIS/7.5
Access-Control-Allow-Origin *
Access-Control-Allow-Methods    GET,PUT,POST,DELETE,OPTIONS
Access-Control-Allow-Headers    Content-Type, cache-control, x-requested-with
Access-Control-Allow-Credentials    false
Date    Fri, 25 Sep 2015 10:16:03 GMT
Content-Length  268

{
  "pageList": [],
  "name": "Koala.jpg",
  "newUuid": "2930",
  "size": 762,
  "thumbnailUrl": null,
  "pageCount": 0,
  "success": true,
  "uuid": "5489a37c-1cde-4c32-9faa-f9c2532b9ba1"
}<script src="/js/fineuploader-4.2.2/iframe.xss.response.js"></script>

控制台

LOG: [FineUploader 4.2.2] Detected valid file button click event on file 'Koala.jpg', ID: 0. 
LOG: [FineUploader 4.2.2] Retrying upload for 'Koala.jpg' (id: 0)... 
LOG: [FineUploader 4.2.2] Sending upload request for 0 
LOG: [FineUploader 4.2.2] Received iframe load event for CORS upload request (iframe name 0_2523c193-b1ad-4ff4-bf71-59608e848560) 
[FineUploader 4.2.2] No valid message received from loaded iframe for iframe name 0_2523c193-b1ad-4ff4-bf71-59608e848560 
LOG: [FineUploader 4.2.2] iframe loaded 

在尝试使用IE9和FineUploader 4.2.2进行上载时,在现有实现中遇到“从已加载的iframe接收不到有效消息”错误,而IE8也有类似的问题,...

javascript internet-explorer-9 fine-uploader
1个回答
0
投票

已解决。问题是由于处理程序的JSON响应中的换行和使用不希望换行的正则表达式“ iframe.xss.response.js”引起的。

© www.soinside.com 2019 - 2024. All rights reserved.