15

Firefox開発者のWebサイトから、Firefoxが使用していることがわかります

objectURL = window.URL.createObjectURL(file);

ファイルタイプのURLを取得しますが、Chromeやその他のWebkitブラウザではwindow.webkitURL.createObjectURL()、URLを検出するために使用します。

ブラウザエンジンに基づいてこの機能を交換する方法がわかりません。両方のブラウザ(ChromeとFirefox)で動作する必要があります。

https://developer.mozilla.org/en/DOM/window.URL.createObjectURL

4

3 に答える 3

26

ラッパー関数を定義できます。

function createObjectURL ( file ) {
    if ( window.webkitURL ) {
        return window.webkitURL.createObjectURL( file );
    } else if ( window.URL && window.URL.createObjectURL ) {
        return window.URL.createObjectURL( file );
    } else {
        return null;
    }
}

その後:

// works cross-browser
var url = createObjectURL( file );
于 2012-06-30T21:16:43.707 に答える
25

シンプルなワンライナー:

var createObjectURL = (window.URL || window.webkitURL || {}).createObjectURL || function(){};
于 2012-06-30T21:15:11.280 に答える
9
if (window.URL !== undefined) {
    window.URL.createObjectURL();
} else if (window.webkitURL !== undefined) {
    window.webkitURL.createObjectURL();
} else {
    console.log('Method Unavailable: createObjectURL');
}

ラウンドです-あなたが探しているものについて。また、この例では、はるかに単純なものを使用しています...

window.URL = window.URL || window.webkitURL;
于 2012-06-30T21:10:54.097 に答える