window.URL.createObjectURL(blob); is undefined in my application

坚强是说给别人听的谎言 提交于 2019-12-05 05:41:39

I figure out the solution for this by using following script from Arun & @Phil comments. Thanks to both of them.

Its not with any library, in my application somewhere in unused code, there a global URL object which is overriding the window.URL.

I found this by using the following code:

(function () {
        var _createObjectURL = window.URL.createObjectURL;
                Object.defineProperty(window.URL, 'createObjectURL', {
                set: function (value) {
                console.trace('set createObjectURL')
                        _createObjectURL = value;
                },
                        get: function () {
                        console.trace('get createObjectURL')
                                return _createObjectURL;
                        }
                })
                })();
                (function () {
                var _URL = window.URL;
                        Object.defineProperty(window, 'URL', {
                        set: function (value) {
                        console.trace('set URL')
                                _URL = value;
                        },
                                get: function () {
                                console.trace('get URL')
                                        return _URL;
                                }
                        })
                        })();  
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!