Javascript 在chrome上上载之前显示pdf预览

Javascript 在chrome上上载之前显示pdf预览,javascript,html,google-chrome,pdf,Javascript,Html,Google Chrome,Pdf,我想在上传之前显示pdf的预览。它适用于firefox,但不适用于chrome。如果我尝试一个图像,它对两个都有效 这是我的代码: <input required="required" accept="image/*, application/pdf" class="uploadjs" data-id="3" type="file"> <div class="preview"> <img id="preview-3" alt=""> <embe

我想在上传之前显示pdf的预览。它适用于firefox,但不适用于chrome。如果我尝试一个图像,它对两个都有效

这是我的代码:

<input required="required" accept="image/*, application/pdf" class="uploadjs" data-id="3" type="file">

<div class="preview">
  <img id="preview-3" alt="">
  <embed id="preview-3_1" type="application/pdf">
</div>


function readURL(input, id) 
{
    var mime= input.files[0].type;

    if (input.files && input.files[0]) 
    {
        var reader = new FileReader();

        reader.onload = function (e) 
        {
            if(mime.split("/")[0]=="image")
            {
                $('#preview-'+id+'_1').attr('src', '');
                $('#preview-'+id).attr('src', e.target.result);

            }
            else
            {
                $('#preview-'+id).attr('src', '');
                $('#preview-'+id+'_1').attr('src', e.target.result);
            }
        }

        reader.readAsDataURL(input.files[0]);
    }
}

$(function()
{
    $(".uploadjs").change(function()
    {
        var id = $(this).data('id')
        readURL(this, id);
    });
})

和一个jsfiddle:


我尝试过多种想法,如:嵌入、iframe和object,但没有一种能在chrome上运行。

对于遇到这种问题的人: 用对象标记封装嵌入标记。 对象标记的数据属性必须链接到.pdf。 将html更改为:

<object type="application/pdf" data ="#" id="pdfViewer">
    <embed id="preview-3_1" type="application/pdf">
</object>

如果有人在这上面绊倒了: 用对象标记封装嵌入标记。 对象标记的数据属性必须链接到.pdf。 将html更改为:

<object type="application/pdf" data ="#" id="pdfViewer">
    <embed id="preview-3_1" type="application/pdf">
</object>

你应该使用iframe:我试过了,但不起作用:/n你现在解决了吗?不,对不起,面向chrome用户…你应该使用iframe:我试过了,但不起作用:/n你现在解决了吗?不,对不起,面向chrome用户。。。