jQuery-media 只获取外部内容
jQuery-media only fetches external content
我正在使用 jQuery media plugin 在我的网页上显示 HTML 和 PDF 文档。该插件将毫无问题地加载任何外部托管的 PDF/HTML。但是,当我尝试向我的应用程序提供 returns 文件内容的 URL 时,它从不尝试获取 URL.
我已经尝试了应用程序视图的相对 URL 路径 (/ajax/...) 和完整的 URL 路径(协议、端口和所有)。
我已经测试了 URL 我希望应用程序通过向浏览器提供 URL 来调用并且它正确 returns PDF 文档。
有人想过强制插件获取我提供的 URL 吗?
因此,在重写 jquery.media 插件后,由于其复杂性,我和 Greg 找到了解决方案。实际上,扩展类型必须在 url 中指定。例如,url '/mypdfs/my.pdf' 会工作,但 url 'mypdfs/123' 不会,因为 jquery.media 无法确定文件类型。解决此问题的一种方法是发出 ajax HEAD 请求并获取内容类型,然后将适当的扩展类型作为选项传递给媒体调用。
$.ajax({
type: "HEAD",
async: true,
url: "http://myurl.com/file",
success: function(message, text, response){
var contentType = response.getResponseHeader('Content-Type');
// Map content types to extension type
$('.media').media({type: extensionType});
}
});
此外,Malsup 的库似乎无人维护。我们重写了目前可以找到的库 here。我们将在时间允许的情况下将 Content-Type 映射添加到文件扩展名,以便更灵活地实施。欢迎提出拉取请求。
我正在使用 jQuery media plugin 在我的网页上显示 HTML 和 PDF 文档。该插件将毫无问题地加载任何外部托管的 PDF/HTML。但是,当我尝试向我的应用程序提供 returns 文件内容的 URL 时,它从不尝试获取 URL.
我已经尝试了应用程序视图的相对 URL 路径 (/ajax/...) 和完整的 URL 路径(协议、端口和所有)。
我已经测试了 URL 我希望应用程序通过向浏览器提供 URL 来调用并且它正确 returns PDF 文档。
有人想过强制插件获取我提供的 URL 吗?
因此,在重写 jquery.media 插件后,由于其复杂性,我和 Greg 找到了解决方案。实际上,扩展类型必须在 url 中指定。例如,url '/mypdfs/my.pdf' 会工作,但 url 'mypdfs/123' 不会,因为 jquery.media 无法确定文件类型。解决此问题的一种方法是发出 ajax HEAD 请求并获取内容类型,然后将适当的扩展类型作为选项传递给媒体调用。
$.ajax({
type: "HEAD",
async: true,
url: "http://myurl.com/file",
success: function(message, text, response){
var contentType = response.getResponseHeader('Content-Type');
// Map content types to extension type
$('.media').media({type: extensionType});
}
});
此外,Malsup 的库似乎无人维护。我们重写了目前可以找到的库 here。我们将在时间允许的情况下将 Content-Type 映射添加到文件扩展名,以便更灵活地实施。欢迎提出拉取请求。