我正在尝试从Firefox OS webapp下载PDF文件,但是当我尝试这样做时,PDF.js会给我以下错误:
PDF.js v0.8.997 (compilacion: 3fa15c8)
Mensaje: Unexpected server response (0) while retrieving PDF "http://xxxx.xx/xxx.pdf"
当我通过Firefox中的“WebIDE”扩展程序进行扩展时会发生这种情况。当我尝试使用FirefoxOS模拟器时,我可以下载该文件,但不会存储。事实上,当我按下通知时,我收到一条消息,告诉我该文件无法建立。
当我在浏览器(Firefox,Chrome,...)上执行相同操作时,我没有相同的错误,因此我认为我无法丢弃HTTP标头问题。
我不确定,但是......这可能是一个与不受信任的网络应用相关的问题吗?
更新:
我尝试使用jpeg文件做同样的事情,但我没有遇到任何问题。这使我认为这是一个PDF.js问题。
答案 0 :(得分:0)
Mozilla的pdfjs使用XMLHttpRequest(XHR
)来请求pdf文件。查看他们的network code,尤其是Line 101。您的应用程序需要systemXHR
权限才能使用XHR。
SystemXHR
允许匿名(无cookie)跨域XHR而不使用 启用了CORS的目标站点。类似于TCP Socket API但是 仅限于XHR,而不仅仅是原始套接字,因此风险稍低。
来源:https://developer.mozilla.org/en-US/Apps/Build/App_permissions
不要忘记,将您的申请类型更改为privileged
中的manifest.webapp
:
"name": "app",
"description": "My description",
"type": "privileged",
"permissions": {
"systemXHR": {
"description": "Add a description for the marketplace reviewer"
}
}
请注意,Firefox OS的目标是在内存不足的设备上运行。在打开之前,您应该先考虑将PDF文件保存到device-storage(sdcard)。