jQuery-media只提取外部内容

时间:2015-01-08 16:49:07

标签: javascript jquery jquery-plugins

我正在使用jQuery media plugin在我的网页上显示HTML和PDF文档。该插件将加载任何外部托管的PDF / HTML,没有任何问题。但是,当我尝试向我的应用程序提供返回文件内容的URL时,它从不尝试获取URL。

我在应用视图中尝试了相对网址路径(/ ajax / ...)和完整网址路径(协议,端口和全部)。

我已经通过向浏览器提供URL来测试我希望应用程序调用的URL,并且它正确地返回了PDF文档。

任何人都有想法强制插件获取我提供的网址吗?

1 个答案:

答案 0 :(得分:0)

因此,在重写jquery.media插件后,由于其复杂的性质,Greg和我找到了解决方案。实际上,必须在URL中指定扩展类型。例如url' /mypdfs/my.pdf'会工作,但网址是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添加到文件扩展名,以便更灵活地实现。随意提出拉动请求。