jQuery-media 只获取外部内容

jQuery-media only fetches external content

本文关键字:外部 获取 jQuery-media      更新时间:2023-09-26

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

我已经尝试了应用程序视图的相对URL路径(/ajax/...)和完整URL路径(协议,端口和所有)。

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

有人有想法强制插件获取我提供的 URL?

因此,在重写了jquery.media插件之后,由于其复杂性,Greg和我找到了解决方案。 实际上,必须在 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的图书馆似乎无人维护。 我们对库进行了重写,目前可以在这里找到。 我们将在时间允许的情况下将映射内容类型添加到文件扩展名,以便可以更灵活地实现。随意提出拉取请求。