| <html> |
| <head> |
| <style> |
| .invisible { |
| width: 0; |
| height: 0; |
| } |
| </style> |
| |
| <script> |
| function print(message, color) |
| { |
| var paragraph = document.createElement("div"); |
| paragraph.appendChild(document.createTextNode(message)); |
| paragraph.style.fontFamily = "monospace"; |
| if (color) |
| paragraph.style.color = color; |
| document.getElementById("console").appendChild(paragraph); |
| } |
| |
| function test() |
| { |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| Array.prototype.forEach = function(f) { |
| for (var i = 0; i < this.length; i++) // > |
| f(this[i]); |
| }; |
| |
| var objectHash = new Object(); |
| var embedHash = new Object(); |
| var appletHash = new Object(); |
| var intersectionHash = new Object(); |
| |
| var object, embed, applet; |
| |
| object = document.getElementById("object"); |
| embed = document.getElementById("embed"); |
| applet = document.getElementById("applet"); |
| |
| for (var p in object) |
| if (typeof object[p] != 'function') |
| objectHash[p] = 1; |
| |
| for (var p in embed) |
| if (typeof embed[p] != 'function') |
| embedHash[p] = 1; |
| |
| for (var p in applet) |
| if (typeof applet[p] != 'function') |
| appletHash[p] = 1; |
| |
| for (var p in objectHash) |
| if (embedHash[p] && appletHash[p]) // ; |
| intersectionHash[p] = 1; |
| |
| print("[OBJECT, EMBED, APPLET] share:", "green"); |
| var array = new Array(); |
| for (var p in intersectionHash) |
| if (typeof document.body[p] == 'undefined') // weed out items shared by all elements |
| array.push(p); |
| array.sort(); |
| array.forEach(print); |
| |
| print("----------"); |
| print(object.tagName + " also has:", "green"); |
| var array = new Array(); |
| for (var p in objectHash) |
| if (!intersectionHash[p]) |
| array.push(p); |
| array.sort(); |
| array.forEach(print); |
| |
| print("----------"); |
| print(embed.tagName + " also has:", "green"); |
| var array = new Array(); |
| for (var p in embedHash) |
| if (!intersectionHash[p]) |
| array.push(p); |
| array.sort(); |
| array.forEach(print); |
| |
| print("----------"); |
| var array = new Array(); |
| print(applet.tagName + " also has:", "green"); |
| for (var p in appletHash) |
| if (!intersectionHash[p]) |
| array.push(p); |
| array.sort(); |
| array.forEach(print); |
| } |
| </script> |
| </head> |
| |
| <body onload="test();"> |
| |
| <hr> |
| <div id='console'></div> |
| |
| <object class="invisible" id="object"></object> |
| <embed class="invisible" id="embed"></embed> |
| <applet class="invisible" id="applet"></applet> |
| |
| </body> |
| </html> |