Element: [Bug Report] upload组件不兼容IE9。#1132中提到已解决,但是还会出现新的错误。

Created on 21 Mar 2017  ·  14Comments  ·  Source: ElemeFE/element

Element UI version

1.2.5

OS/Browsers version

WIN7 / IE9

Vue version

2.1.6

Reproduction Link

http://element.eleme.io/#/zh-CN/component/upload

Steps to reproduce

点击上传按钮,选择文件,点击确定,就会出错

What is Expected?

上传成功

What is actually happening?

1132 提到已解决,但是依然会出现下面的错误

_WIN7 中的 IE9:_
ReferenceError: “URL”未定义
SCRIPT5: 拒绝访问。
element.eleme.io, 行1 字符1
upload-bug

_IE11 模拟 IE9:_
[object Error]{description: "“URL”未定义", message: "“URL”未定义", name: "ReferenceEr...", number: -2146823279}
upload-bug 2

@QingWei-Li @baiyaaaaa

upload

Most helpful comment

最新版ie9上传还是没有解决,难道要等我出手么?

All 14 comments

同问,是不打算支持IE9吗?

同问,是不打算支持IE9吗?出现了一样的问题,同楼主

IE 9 没有全局的 URL 对象,而且不支持 blob,可以尝试引入 url-polyfill,并 hack 掉URL.createObjectURL方法

@HakurouKen hack 掉URL.createObjectURL,是直接把createObjectURL这个方法注释掉吗?我试过了,依旧不行,和之前一样的错误。

@Aiyibooo Element 代码内,用到了全局的 URL 对象和 URL.createObjectURL 方法,因为 IE9 不支持 blob,因此这个方法不能(或者说很难)进行 polyfill,需要在引入 polyfill 后,自己 hack 一个方法,比如简单的返回空字符串:

URL.createObjectURL = function () {
  return ''
}
URL.revokeObjectURL = function () {}

@Aiyibooo 怎么突然没下文了,请问下兼容ie9的问题解决了吗,解决了的话能告诉我是怎么弄的吗?

@HakurouKen 请问下你上面的hack代码要写在哪里呢?

@Aiyibooo @HakurouKen @suzi404
出现同样问题,请问是怎么解决的!!

我想纯前端技术是没办法解决这个问题,需要flash才可以,就看官方是否愿意去兼容ie9了

过了 URL Object 这一关,后续还有其它兼容问题,兼容处理还比较复杂,单纯外部 hack 并不能完全解决。目前看来,如果一定要兼容 IE9,最好自己写 upload 控件

@suzi404 @czl0705
还没有解决...

最新版ie9上传还是没有解决,难道要等我出手么?

Keep wait and see

要兼容IE9还是用百度的webuploader吧,IE9是通过flash实现的,然而flash要被废掉了

We wont support IE9 in later version.(And not support in current version)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

makunsusu picture makunsusu  ·  3Comments

smallpath picture smallpath  ·  3Comments

no5no6 picture no5no6  ·  3Comments

chao-hua picture chao-hua  ·  3Comments

yorululu picture yorululu  ·  3Comments