[在尝试使用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也有类似的问题,...
已解决。问题是由于处理程序的JSON响应中的换行和使用不希望换行的正则表达式“ iframe.xss.response.js”引起的。