Skip to content

expand htmlelement keysΒ #267

@Thorin-Oakenpants

Description

@Thorin-Oakenpants

@abrahamjuliot .. what's going on here?

TZP code

	const id = "html-element-version"
	const element = document.createElement("div")
	element.setAttribute("id", id)
	document.body.appendChild(element)
	const htmlElement = document.getElementById(id)
	const keys = []
	for (const key in htmlElement) {keys.push(key)}
	//... etc .. using same mini hashing function as creepy
	try {document.getElementById(id).remove()} catch(e) {} // cleanup

on creepy I get 312 keys hash b2a71fab
on TZP I get 312 keys hash 43c289ca

so I compared them

// CRP b2a71fab
let aCRP = ['version','click','attachInternals','showPopover','hidePopover','togglePopover','focus','blur','title','lang','translate','dir','innerText','outerText','hidden','inert','accessKey','accessKeyLabel','draggable','contentEditable','isContentEditable','popover','spellcheck','inputMode','enterKeyHint','autocapitalize','nonce','offsetParent','offsetTop','offsetLeft','offsetWidth','offsetHeight','style','onabort','onblur','onfocus','oncancel','onauxclick','onbeforeinput','onbeforetoggle','oncanplay','oncanplaythrough','onchange','onclick','onclose','oncontextmenu','oncopy','oncuechange','oncut','ondblclick','ondrag','ondragend','ondragenter','ondragleave','ondragover','ondragstart','ondrop','ondurationchange','onemptied','onended','onformdata','oninput','oninvalid','onkeydown','onkeypress','onkeyup','onload','onloadeddata','onloadedmetadata','onloadstart','onmousedown','onmouseenter','onmouseleave','onmousemove','onmouseout','onmouseover','onmouseup','onwheel','onpaste','onpause','onplay','onplaying','onprogress','onratechange','onreset','onresize','onscroll','onscrollend','onsecuritypolicyviolation','onseeked','onseeking','onselect','onslotchange','onstalled','onsubmit','onsuspend','ontimeupdate','onvolumechange','onwaiting','onselectstart','onselectionchange','ontoggle','onpointercancel','onpointerdown','onpointerup','onpointermove','onpointerout','onpointerover','onpointerenter','onpointerleave','ongotpointercapture','onlostpointercapture','onmozfullscreenchange','onmozfullscreenerror','onanimationcancel','onanimationend','onanimationiteration','onanimationstart','ontransitioncancel','ontransitionend','ontransitionrun','ontransitionstart','onwebkitanimationend','onwebkitanimationiteration','onwebkitanimationstart','onwebkittransitionend','dataset','autofocus','tabIndex','onerror','getAttributeNames','getAttribute','getAttributeNS','toggleAttribute','setAttribute','setAttributeNS','removeAttribute','removeAttributeNS','hasAttribute','hasAttributeNS','hasAttributes','closest','matches','webkitMatchesSelector','getElementsByTagName','getElementsByTagNameNS','getElementsByClassName','insertAdjacentElement','insertAdjacentText','mozMatchesSelector','setPointerCapture','releasePointerCapture','hasPointerCapture','setCapture','releaseCapture','getAttributeNode','setAttributeNode','removeAttributeNode','getAttributeNodeNS','setAttributeNodeNS','getClientRects','getBoundingClientRect','checkVisibility','scrollIntoView','scroll','scrollTo','scrollBy','insertAdjacentHTML','querySelector','querySelectorAll','attachShadow','requestFullscreen','mozRequestFullScreen','requestPointerLock','setHTMLUnsafe','animate','getAnimations','before','after','replaceWith','remove','getBoxQuads','convertQuadFromNode','convertRectFromNode','convertPointFromNode','prepend','append','replaceChildren','namespaceURI','prefix','localName','tagName','id','className','classList','part','attributes','scrollTop','scrollLeft','scrollWidth','scrollHeight','clientTop','clientLeft','clientWidth','clientHeight','scrollTopMax','scrollLeftMax','innerHTML','outerHTML','shadowRoot','assignedSlot','slot','onfullscreenchange','onfullscreenerror','role','ariaAtomic','ariaAutoComplete','ariaBusy','ariaChecked','ariaColCount','ariaColIndex','ariaColIndexText','ariaColSpan','ariaCurrent','ariaDescription','ariaDisabled','ariaExpanded','ariaHasPopup','ariaHidden','ariaInvalid','ariaKeyShortcuts','ariaLabel','ariaLevel','ariaLive','ariaModal','ariaMultiLine','ariaMultiSelectable','ariaOrientation','ariaPlaceholder','ariaPosInSet','ariaPressed','ariaReadOnly','ariaRelevant','ariaRequired','ariaRoleDescription','ariaRowCount','ariaRowIndex','ariaRowIndexText','ariaRowSpan','ariaSelected','ariaSetSize','ariaSort','ariaValueMax','ariaValueMin','ariaValueNow','ariaValueText','previousElementSibling','nextElementSibling','children','firstElementChild','lastElementChild','childElementCount','getRootNode','hasChildNodes','insertBefore','appendChild','replaceChild','removeChild','normalize','cloneNode','isSameNode','isEqualNode','compareDocumentPosition','contains','lookupPrefix','lookupNamespaceURI','isDefaultNamespace','nodeType','nodeName','baseURI','isConnected','ownerDocument','parentNode','parentElement','childNodes','firstChild','lastChild','previousSibling','nextSibling','nodeValue','textContent','ELEMENT_NODE','ATTRIBUTE_NODE','TEXT_NODE','CDATA_SECTION_NODE','ENTITY_REFERENCE_NODE','ENTITY_NODE','PROCESSING_INSTRUCTION_NODE','COMMENT_NODE','DOCUMENT_NODE','DOCUMENT_TYPE_NODE','DOCUMENT_FRAGMENT_NODE','NOTATION_NODE','DOCUMENT_POSITION_DISCONNECTED','DOCUMENT_POSITION_PRECEDING','DOCUMENT_POSITION_FOLLOWING','DOCUMENT_POSITION_CONTAINS','DOCUMENT_POSITION_CONTAINED_BY','DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC','addEventListener','removeEventListener','dispatchEvent']
// TZP 43c289ca
let aTZP = ['align','click','attachInternals','showPopover','hidePopover','togglePopover','focus','blur','title','lang','translate','dir','innerText','outerText','hidden','inert','accessKey','accessKeyLabel','draggable','contentEditable','isContentEditable','popover','spellcheck','inputMode','enterKeyHint','autocapitalize','nonce','offsetParent','offsetTop','offsetLeft','offsetWidth','offsetHeight','style','onabort','onblur','onfocus','oncancel','onauxclick','onbeforeinput','onbeforetoggle','oncanplay','oncanplaythrough','onchange','onclick','onclose','oncontextmenu','oncopy','oncuechange','oncut','ondblclick','ondrag','ondragend','ondragenter','ondragleave','ondragover','ondragstart','ondrop','ondurationchange','onemptied','onended','onformdata','oninput','oninvalid','onkeydown','onkeypress','onkeyup','onload','onloadeddata','onloadedmetadata','onloadstart','onmousedown','onmouseenter','onmouseleave','onmousemove','onmouseout','onmouseover','onmouseup','onwheel','onpaste','onpause','onplay','onplaying','onprogress','onratechange','onreset','onresize','onscroll','onscrollend','onsecuritypolicyviolation','onseeked','onseeking','onselect','onslotchange','onstalled','onsubmit','onsuspend','ontimeupdate','onvolumechange','onwaiting','onselectstart','onselectionchange','ontoggle','onpointercancel','onpointerdown','onpointerup','onpointermove','onpointerout','onpointerover','onpointerenter','onpointerleave','ongotpointercapture','onlostpointercapture','onmozfullscreenchange','onmozfullscreenerror','onanimationcancel','onanimationend','onanimationiteration','onanimationstart','ontransitioncancel','ontransitionend','ontransitionrun','ontransitionstart','onwebkitanimationend','onwebkitanimationiteration','onwebkitanimationstart','onwebkittransitionend','dataset','autofocus','tabIndex','onerror','getAttributeNames','getAttribute','getAttributeNS','toggleAttribute','setAttribute','setAttributeNS','removeAttribute','removeAttributeNS','hasAttribute','hasAttributeNS','hasAttributes','closest','matches','webkitMatchesSelector','getElementsByTagName','getElementsByTagNameNS','getElementsByClassName','insertAdjacentElement','insertAdjacentText','mozMatchesSelector','setPointerCapture','releasePointerCapture','hasPointerCapture','setCapture','releaseCapture','getAttributeNode','setAttributeNode','removeAttributeNode','getAttributeNodeNS','setAttributeNodeNS','getClientRects','getBoundingClientRect','checkVisibility','scrollIntoView','scroll','scrollTo','scrollBy','insertAdjacentHTML','querySelector','querySelectorAll','attachShadow','requestFullscreen','mozRequestFullScreen','requestPointerLock','setHTMLUnsafe','animate','getAnimations','before','after','replaceWith','remove','getBoxQuads','convertQuadFromNode','convertRectFromNode','convertPointFromNode','prepend','append','replaceChildren','namespaceURI','prefix','localName','tagName','id','className','classList','part','attributes','scrollTop','scrollLeft','scrollWidth','scrollHeight','clientTop','clientLeft','clientWidth','clientHeight','scrollTopMax','scrollLeftMax','innerHTML','outerHTML','shadowRoot','assignedSlot','slot','onfullscreenchange','onfullscreenerror','role','ariaAtomic','ariaAutoComplete','ariaBusy','ariaChecked','ariaColCount','ariaColIndex','ariaColIndexText','ariaColSpan','ariaCurrent','ariaDescription','ariaDisabled','ariaExpanded','ariaHasPopup','ariaHidden','ariaInvalid','ariaKeyShortcuts','ariaLabel','ariaLevel','ariaLive','ariaModal','ariaMultiLine','ariaMultiSelectable','ariaOrientation','ariaPlaceholder','ariaPosInSet','ariaPressed','ariaReadOnly','ariaRelevant','ariaRequired','ariaRoleDescription','ariaRowCount','ariaRowIndex','ariaRowIndexText','ariaRowSpan','ariaSelected','ariaSetSize','ariaSort','ariaValueMax','ariaValueMin','ariaValueNow','ariaValueText','previousElementSibling','nextElementSibling','children','firstElementChild','lastElementChild','childElementCount','getRootNode','hasChildNodes','insertBefore','appendChild','replaceChild','removeChild','normalize','cloneNode','isSameNode','isEqualNode','compareDocumentPosition','contains','lookupPrefix','lookupNamespaceURI','isDefaultNamespace','nodeType','nodeName','baseURI','isConnected','ownerDocument','parentNode','parentElement','childNodes','firstChild','lastChild','previousSibling','nextSibling','nodeValue','textContent','ELEMENT_NODE','ATTRIBUTE_NODE','TEXT_NODE','CDATA_SECTION_NODE','ENTITY_REFERENCE_NODE','ENTITY_NODE','PROCESSING_INSTRUCTION_NODE','COMMENT_NODE','DOCUMENT_NODE','DOCUMENT_TYPE_NODE','DOCUMENT_FRAGMENT_NODE','NOTATION_NODE','DOCUMENT_POSITION_DISCONNECTED','DOCUMENT_POSITION_PRECEDING','DOCUMENT_POSITION_FOLLOWING','DOCUMENT_POSITION_CONTAINS','DOCUMENT_POSITION_CONTAINED_BY','DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC','addEventListener','removeEventListener','dispatchEvent']

let onlyTZP = aTZP.filter(x => !aCRP.includes(x))
let onlyCRP = aCRP.filter(x => !aTZP.includes(x))
let aCommon = aCRP.filter(x => aTZP.includes(x))
console.log("onlyTZP", onlyTZP.length+"\n", "['"+ onlyTZP.join("','") +"']" )
console.log("onlyCRP", onlyCRP.length+"\n", "['"+ onlyCRP.join("','") +"']" )
console.log("aCommon", aCommon.length+"\n", "['"+ aCommon.join("','") +"']" )

results

onlyTZP 1
 ['align']

onlyCRP 1
 ['version']

aCommon 311
 ['click','attachInternals','showPopover','hidePopover','togglePopover','focus','blur','title','lang','translate','dir','innerText','outerText','hidden','inert','accessKey','accessKeyLabel','draggable','contentEditable','isContentEditable','popover','spellcheck','inputMode','enterKeyHint','autocapitalize','nonce','offsetParent','offsetTop','offsetLeft','offsetWidth','offsetHeight','style','onabort','onblur','onfocus','oncancel','onauxclick','onbeforeinput','onbeforetoggle','oncanplay','oncanplaythrough','onchange','onclick','onclose','oncontextmenu','oncopy','oncuechange','oncut','ondblclick','ondrag','ondragend','ondragenter','ondragleave','ondragover','ondragstart','ondrop','ondurationchange','onemptied','onended','onformdata','oninput','oninvalid','onkeydown','onkeypress','onkeyup','onload','onloadeddata','onloadedmetadata','onloadstart','onmousedown','onmouseenter','onmouseleave','onmousemove','onmouseout','onmouseover','onmouseup','onwheel','onpaste','onpause','onplay','onplaying','onprogress','onratechange','onreset','onresize','onscroll','onscrollend','onsecuritypolicyviolation','onseeked','onseeking','onselect','onslotchange','onstalled','onsubmit','onsuspend','ontimeupdate','onvolumechange','onwaiting','onselectstart','onselectionchange','ontoggle','onpointercancel','onpointerdown','onpointerup','onpointermove','onpointerout','onpointerover','onpointerenter','onpointerleave','ongotpointercapture','onlostpointercapture','onmozfullscreenchange','onmozfullscreenerror','onanimationcancel','onanimationend','onanimationiteration','onanimationstart','ontransitioncancel','ontransitionend','ontransitionrun','ontransitionstart','onwebkitanimationend','onwebkitanimationiteration','onwebkitanimationstart','onwebkittransitionend','dataset','autofocus','tabIndex','onerror','getAttributeNames','getAttribute','getAttributeNS','toggleAttribute','setAttribute','setAttributeNS','removeAttribute','removeAttributeNS','hasAttribute','hasAttributeNS','hasAttributes','closest','matches','webkitMatchesSelector','getElementsByTagName','getElementsByTagNameNS','getElementsByClassName','insertAdjacentElement','insertAdjacentText','mozMatchesSelector','setPointerCapture','releasePointerCapture','hasPointerCapture','setCapture','releaseCapture','getAttributeNode','setAttributeNode','removeAttributeNode','getAttributeNodeNS','setAttributeNodeNS','getClientRects','getBoundingClientRect','checkVisibility','scrollIntoView','scroll','scrollTo','scrollBy','insertAdjacentHTML','querySelector','querySelectorAll','attachShadow','requestFullscreen','mozRequestFullScreen','requestPointerLock','setHTMLUnsafe','animate','getAnimations','before','after','replaceWith','remove','getBoxQuads','convertQuadFromNode','convertRectFromNode','convertPointFromNode','prepend','append','replaceChildren','namespaceURI','prefix','localName','tagName','id','className','classList','part','attributes','scrollTop','scrollLeft','scrollWidth','scrollHeight','clientTop','clientLeft','clientWidth','clientHeight','scrollTopMax','scrollLeftMax','innerHTML','outerHTML','shadowRoot','assignedSlot','slot','onfullscreenchange','onfullscreenerror','role','ariaAtomic','ariaAutoComplete','ariaBusy','ariaChecked','ariaColCount','ariaColIndex','ariaColIndexText','ariaColSpan','ariaCurrent','ariaDescription','ariaDisabled','ariaExpanded','ariaHasPopup','ariaHidden','ariaInvalid','ariaKeyShortcuts','ariaLabel','ariaLevel','ariaLive','ariaModal','ariaMultiLine','ariaMultiSelectable','ariaOrientation','ariaPlaceholder','ariaPosInSet','ariaPressed','ariaReadOnly','ariaRelevant','ariaRequired','ariaRoleDescription','ariaRowCount','ariaRowIndex','ariaRowIndexText','ariaRowSpan','ariaSelected','ariaSetSize','ariaSort','ariaValueMax','ariaValueMin','ariaValueNow','ariaValueText','previousElementSibling','nextElementSibling','children','firstElementChild','lastElementChild','childElementCount','getRootNode','hasChildNodes','insertBefore','appendChild','replaceChild','removeChild','normalize','cloneNode','isSameNode','isEqualNode','compareDocumentPosition','contains','lookupPrefix','lookupNamespaceURI','isDefaultNamespace','nodeType','nodeName','baseURI','isConnected','ownerDocument','parentNode','parentElement','childNodes','firstChild','lastChild','previousSibling','nextSibling','nodeValue','textContent','ELEMENT_NODE','ATTRIBUTE_NODE','TEXT_NODE','CDATA_SECTION_NODE','ENTITY_REFERENCE_NODE','ENTITY_NODE','PROCESSING_INSTRUCTION_NODE','COMMENT_NODE','DOCUMENT_NODE','DOCUMENT_TYPE_NODE','DOCUMENT_FRAGMENT_NODE','NOTATION_NODE','DOCUMENT_POSITION_DISCONNECTED','DOCUMENT_POSITION_PRECEDING','DOCUMENT_POSITION_FOLLOWING','DOCUMENT_POSITION_CONTAINS','DOCUMENT_POSITION_CONTAINED_BY','DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC','addEventListener','removeEventListener','dispatchEvent']

So why does TZP's first item = align and creepy's = version

please explain yourself, young man! :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions