これは、ブラウザでVMLサポートを検出するために使用される機能です。これは、古いバージョンのIEにborder-radiusおよびdrop-shadow機能を提供するためのhtmlコンポーネントファイルの一部です。私はこれを私に説明したいと思います、それの段階的な論理:
function supportsVml() {
if (typeof supportsVml.supported == "undefined"){
var a = document.body.appendChild(document.createElement('div'));
a.innerHTML = '<v:shape id="vml_flag1" adj="1" />';
var b = a.firstChild;
b.style.behavior = "url(#default#VML)";
supportsVml.supported = b ? typeof b.adj == "object": true;
a.parentNode.removeChild(a);
}
return supportsVml.supported
}
私が混乱しているところ:
- supporstVml.supportedとは何ですか?これは変数ですか、ファイル内の他の場所で宣言されているのはわかりません...
- url(#default#VML)の動作は何ですか?
- supportVml.supportedは、条件に基づいて新しい値が再割り当てされますが、何が、なぜかわかりません...
ありがとう!