Firefox上的Javascript:可以从html对象访问二进制数据

Javascript on Firefox: Accessing binary data from html object possible?

本文关键字:对象 html 访问 二进制 数据 上的 Javascript Firefox      更新时间:2023-09-26

在一个html页面上,我有一个承载pdf的<object>。我需要通过Javascript访问pdf的二进制数据,但我不知道如何访问以实现这一点。我可以访问对象元素本身,但无法想到获取其中数据的方法

有可能吗?

您不能从object标签中获取二进制文件,但您可以向服务器发出AJAX请求,并使用新的responseType属性将其作为ArrayBuffer获取

var http = new XMLHttpRequest();
http.open("get", "somefile.pdf", true);
http.responseType = "arraybuffer";
http.onload = function(e)
{
    if(http.response)
    {
        // http.response contains the file
    }
};
http.send(null);

请注意,此方法仅适用于较新的浏览器,并且显然受到同源策略的限制。