1

この構造がどのように機能しているかに興味があります。Javascript から navigator.mimetypes にアクセスするときは、オブジェクトにアクセスしています。

>>> typeof(navigator.mimeTypes)
"object"

そのオブジェクトにはオブジェクトのリストがあります。

navigator.mimeTypes[Object_0, Object_1, Object_2, ...]

>>> typeof(navigator.mimeTypes[0])
"object"

たとえば、最初のオブジェクトを取得できます。

navigator.mimeTypes[0]

MimeType { constructor=MimeType, enabledPlugin=Plugin, type="application/x-vnd.google.update3webcontrol.3"}

なぜこれが機能しているのか誰にも説明できますか?

>>> navigator.mimeTypes["application/x-shockwave-flash"]

MimeType { constructor=MimeType, type="application/x-shockwave-flash", description="",more...}

["application/x-shockwave-flash"] を使用して指定されたオブジェクトを見つけることができるのはなぜですか??

JavaScriptは私にとって新しい世界です:)

4

2 に答える 2

4

navigator.mimeTypesは、従来の JavaScript 配列ではなく、Array のようなプロパティを持つオブジェクトと呼ばれるオブジェクトを返しますMimeTypeArray。そのプロパティには、インデックスまたは名前でアクセスできます。

編集:使用すると、キーと同じ値のプロパティを持つ配列内のオブジェクトにマップされたハッシュマップのようにnavigator.mimeTypes['someType']扱われます。これは DOM (技術的には JavaScript ではない) の奇妙なオブジェクトであり、通常、このようなオブジェクトはあまり見られません。MimeTypeArraysomeTypeMimeTypetype

于 2012-12-18T13:50:22.023 に答える
0
function GetMimeTypes() {
    var message = "";
    // Internet Explorer supports the mimeTypes collection, but it is always empty
    if (navigator.mimeTypes && navigator.mimeTypes.length > 0) {
        var mimes = navigator.mimeTypes;
        for (var i=0; i < mimes.length; i++) {
            message += "<b>" + mimes[i].type + "</b> : " + mimes[i].description + "<br />";
        }
    }
    else {
        message = "Your browser does not support this example!";
    }
    var info = document.getElementById ("login_info");
    info.innerHTML = message;
}
GetMimeTypes();
于 2015-03-17T19:41:52.853 に答える