javascript - 上传前在页面上预览图像,适用于除 IE 之外的所有浏览器

标签 javascript html

我有一个 JavaScript 函数,可以在单击“提交”之前显示您要上传的图像。它仅在您选择文件时在页面上显示图像。这适用于除 IE 之外的所有浏览器。这是一个非常简单的 JavaScript 函数。有什么想法为什么这不会在 IE 中呈现吗?谢谢。

这是页面头部的 Javascript:

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

            reader.onload = function (e) {
                $('#blah')
                    .attr('src', e.target.result)
                    .width(75)
                    .height(75);
            };

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

这是空图像的 HTML。选择文件后,它将显示在 img id="blah"中。这可以在除 IE 之外的所有浏览器中正确呈现。

<div id="question_submit_outside_holder">
    <input type="submit" name="question_reply_upload_image" id="questions_place_inline_image_form_submit_one" value="Place image" />
</div>

<div id="questions_form_image_upload_image_holder">
    <img id="blah" src="" /> <!-- img should be displayed here -->
</div>

更新

这就是我将图像附加到帖子中的方式。它显示在除 IE 之外的所有浏览器中

<script type="text/javascript">
    image = '<img src="http://forum.site.com/.../<?php echo $_SESSION['user_id']; ?>/question_reply_images/<?php echo $image_name; ?>" alt="<?php echo $alt; ?>" />';
    document.getElementById('editor1').innerHTML += image;
    window.location = '#reply_textbox';
</script>

最佳答案

当然在IE下不行! IE9及以下版本不支持FileReader API,该API在您发布的代码中启用缩略图预览。

好消息:IE10 确实支持 FileReader API。 http://caniuse.com/filereader

关于javascript - 上传前在页面上预览图像,适用于除 IE 之外的所有浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10048124/

相关文章:

javascript - 文本框 'popup' 在 CSS/Javascript 的鼠标悬停/悬停时显示

javascript - 在 iframe 中选择内容

javascript - 在 html 文档中搜索特定部分并替换

javascript - 如何选择 contentEditable = true 的两个元素的文本?

javascript - 单击主文本时显示(淡入淡出)隐藏文本?

javascript - 为什么我的 Controller 中的保存功能不起作用?

javascript - 为什么我在我的表中看不到我的 JSON 数据?

javascript - CSS:保持div的高度相对于它的宽度

html - 使用::before 创建围绕圆的线

javascript - 在 React 中将文本分成多行