document.implementation
document.implementation özelliği, DOM tanımlamasının tüm sürümlerinde DOMImplementation arayüzünü temsil eder. Bu arayüzün tek metodu olan hasFeature() metodu parametre olarak aldığı DOM özellik adı ve sürüm numarasına göre özelliğin tarayıcıda desteklenip-desteklenmediğini kontrol ederek, desteklenmesi durumunda true, desteklenmemesi durumunda false döndürür.
Sözdizimi
DOMUyum = document.implementation
sonuc = DOMUyum.hasFeature( ozAdi, ozSur)
ozAdi | Özellik adı. Alabileceği değerler aşağıdaki tabloda listelenmiştir. |
ozSur | DOM Sürümü. 1.0, 2.0 ve 3.0 değerlerinden birini alır. (Şubat 2008) |
Dönüş Değeri
sonuc | Özellik destekleniyorsa true, diğer türlü false döner. |
DOM Özellik İsimleri
Özellik isimlerinde büyük-küçük harf hassasiyeti vardır.
DOM Level 1
|
DOM Level 2
- Core
- HTML
- XML
- Views
- StyleSheets
- CSS
- CSS2
- Events
- UIEvents
- MouseEvents
- MutationEvents
- HTMLEvents
- Range
- Traversal
|
DOM Level 3
- Core
- XML
- Events
- UIEvents
- MouseEvents
- TextEvents
- KeyboardEvents
- MutationEvents
- MutationNameEvents
- HTMLEvents
- LS
- LS-Async
- Validation
- XPath
|
Aşağıdaki örnek, tarayıcının desteklediği DOM versiyonlarını ve özelliklerini göstermektedir.
<input type="button" value="DOM Sürümlerini Göster" onClick="domGoster()"/>
<div id="bilgiKutu"></div>
<script type="text/javascript">
// Satır oluşturup HTML olarak döndürür.
function sutunVer(adi, versiyon, destek)
{
support = destek ? "<span style='color:green;'>EVET</span>" :
"<span style='color:red;'>HAYIR</span>";
return "<tr><td width='150'>" + adi +
"</td><td width='50'>" + versiyon +
"</td><td width='50'>" + support + "</td></tr>";
}
// hasFeature metodunun kısa hali
var domImp = function(ozellik, surum) {
return document.implementation.hasFeature(ozellik, surum);
}
function domGoster()
{
var Level1 = ["HTML", "XML"];
var Level2 = ["Core", "HTML", "XML", "Stylesheets", "CSS", "CSS2", "Views",
"Events", "UIEvents", "MouseEvents", "HTMLEvents", "MutationEvents",
"Range", "Traversal"];
var Level3 = ["Core", "XML", "Events", "UIEvents", "MouseEvents", "TextEvents",
"KeyboardEvents", "MutationEvents", "MutationNameEvents", "HTMLEvents",
"LS", "LS-Async", "Validation", "XPath"];
var yazilacak = "";
// ----- Tablo yazılıyor
yazilacak += "<table cellpadding='0' cellspacing='0'>";
// ----- Level 1 yazılıyor
yazilacak += "<tr><td colspan='3'><b>DOM Level 1</b></td></tr>";
yazilacak += sutunVer("HTML", "1.0", (domImp("HTML","1.0") ? true : false));
yazilacak += sutunVer("XML", "1.0", (domImp("XML","1.0") ? true : false));
// ----- Level 2 yazılıyor
yazilacak += "<tr><td colspan='3'><b>DOM Level 2</b></td></tr>";
for(i = 0;i < Level2.length;i++)
yazilacak += sutunVer(Level2[i], "2.0", (domImp(Level2[i],"2.0") ? true : false));
// ----- Level 3 yazılıyor
yazilacak += "<tr><td colspan='3'><b>DOM Level 3</b></td></tr>";
for(i = 0;i < Level3.length;i++)
yazilacak += sutunVer(Level3[i], "3.0", (domImp(Level3[i],"3.0") ? true : false));
yazilacak += "</table>";
// ----- Tablo yazımı bitti
document.getElementById("bilgiKutu").innerHTML = yazilacak;
}
</script>
Canlı Sonuç
|