Class HtmlScript
- java.lang.Object
-
- com.gargoylesoftware.htmlunit.html.DomNode
-
- com.gargoylesoftware.htmlunit.html.DomNamespaceNode
-
- com.gargoylesoftware.htmlunit.html.DomElement
-
- com.gargoylesoftware.htmlunit.html.HtmlElement
-
- com.gargoylesoftware.htmlunit.html.HtmlScript
-
- All Implemented Interfaces:
ScriptElement,java.io.Serializable,java.lang.Cloneable,org.w3c.dom.Element,org.w3c.dom.Node
public class HtmlScript extends HtmlElement implements ScriptElement
Wrapper for the HTML element "script".
When a script tag references an external script (with attribute src) it gets executed when the node is added to the DOM tree. When the script code is nested, it gets executed when the text node containing the script is added to the HtmlScript.
The ScriptFilter feature of NekoHtml can't be used because it doesn't allow immediate access to the DOM (i.e.document.write("<span id='mySpan'/>"); document.getElementById("mySpan").tagName;can't work with a filter).- See Also:
- DOM Level 1, DOM Level 2, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
HtmlElement.DisplayStyle
-
Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.DomElement
DomElement.ChildElementsIterator
-
Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.DomNode
DomNode.ChildIterator, DomNode.DescendantElementsIterator<T extends DomNode>
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringTAG_NAMEThe HTML tag represented by this element.-
Fields inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
TAB_INDEX_OUT_OF_BOUNDS
-
Fields inherited from class com.gargoylesoftware.htmlunit.html.DomElement
ATTRIBUTE_NOT_DEFINED, ATTRIBUTE_VALUE_EMPTY, SRC_ATTRIBUTE
-
Fields inherited from class com.gargoylesoftware.htmlunit.html.DomNode
AS_TEXT_BLANK, AS_TEXT_BLOCK_SEPARATOR, AS_TEXT_NEW_LINE, AS_TEXT_TAB, PROPERTY_ELEMENT, READY_STATE_COMPLETE, READY_STATE_INTERACTIVE, READY_STATE_LOADED, READY_STATE_LOADING, READY_STATE_UNINITIALIZED
-
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.lang.StringasText()Deprecated.as of version 2.48.0; use asNormalizedText() insteadjava.lang.StringgetCharsetAttribute()Returns the value of the attributecharset.HtmlElement.DisplayStylegetDefaultStyleDisplay()INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Returns the default display style.java.lang.StringgetDeferAttribute()Returns the value of the attributedefer.java.lang.StringgetEventAttribute()Returns the value of the attributeevent.java.lang.StringgetHtmlForAttribute()Returns the value of the attributefor.java.lang.StringgetLanguageAttribute()Returns the value of the attributelanguage.java.lang.StringgetSrcAttribute()Returns the value of the attributesrc.java.lang.StringgetTypeAttribute()Returns the value of the attributetype.booleanisDeferred()Returnstrueif this script is deferred.protected booleanisEmptyXmlTagExpanded()Indicates if a node without children should be written in expanded form as XML (i.e. with closing tag rather than with "/>")booleanisExecuted()Returns if executed.voidmarkAsCreatedByJavascript()INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Marks this frame as created by javascript.booleanmayBeDisplayed()Returnstrueif nodes of this type can ever be displayed,falseotherwise.voidonAllChildrenAddedToPage(boolean postponed)Executes the onreadystatechange handler when simulating IE, as well as executing the script itself, if necessary.protected voidprintChildrenAsXml(java.lang.String indent, java.io.PrintWriter printWriter)Recursively writes the XML data for the node tree starting atnode.voidprocessImportNode(com.gargoylesoftware.htmlunit.javascript.host.dom.Document doc)INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Lifecycle method to support special processing for js method importNode.voidresetExecuted()INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Resets the executed flag.protected voidsetAttributeNS(java.lang.String namespaceURI, java.lang.String qualifiedName, java.lang.String attributeValue, boolean notifyAttributeChangeListeners, boolean notifyMutationObservers)If setting the src attribute, this method executes the new JavaScript if necessary (behavior varies by browser version).voidsetExecuted(boolean executed)Sets if executed.java.lang.StringtoString()Returns a string representation of this object.booleanwasCreatedByJavascript()INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Returns true if this frame was created by javascript.-
Methods inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
acceptChar, addHtmlAttributeChangeListener, appendChildIfNoneExists, checkChildHierarchy, cloneNode, detach, doType, doType, fireHtmlAttributeAdded, fireHtmlAttributeRemoved, fireHtmlAttributeReplaced, getCanonicalXPath, getElementsByAttribute, getEnclosingElement, getEnclosingForm, getEnclosingFormOrDie, getLangAttribute, getNodeName, getOnClickAttribute, getOnDblClickAttribute, getOneHtmlElementByAttribute, getOnKeyDownAttribute, getOnKeyPressAttribute, getOnKeyUpAttribute, getOnMouseDownAttribute, getOnMouseMoveAttribute, getOnMouseOutAttribute, getOnMouseOverAttribute, getOnMouseUpAttribute, getSrcAttributeNormalized, getTabIndex, getTextDirectionAttribute, getXmlLangAttribute, handles, hasEventHandlers, isAltPressed, isAttributeCaseSensitive, isCtrlPressed, isDisplayed, isHidden, isOptional, isRequired, isRequiredSupported, isShiftPressed, isSubmittableByEnter, isValid, notifyAttributeChangeListeners, removeAttribute, removeChild, removeHtmlAttributeChangeListener, setAttributeNode, setRequired, type, type, type, type, typeDone
-
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomElement
blur, click, click, click, click, click, dblClick, dblClick, doClickFireChangeEvent, doClickFireClickEvent, doClickStateUpdate, fireEvent, fireEvent, focus, getAttribute, getAttributeDirect, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributesMap, getChildElementCount, getChildElements, getElementsByTagName, getElementsByTagNameNS, getEventTargetElement, getFirstElementChild, getId, getLastElementChild, getNodeType, getSchemaTypeInfo, getStyleElement, getStyleElementCaseInSensitive, getStyleMap, getTagName, hasAttribute, hasAttributeNS, hasAttributes, isDisabledElementAndDisabled, isMouseOver, isStateUpdateFirst, matches, mouseDown, mouseDown, mouseMove, mouseMove, mouseOut, mouseOut, mouseOver, mouseOver, mouseUp, mouseUp, preventDefault, printOpeningTagContentAsXml, printXml, propagateClickStateUpdateToParent, removeAttributeNode, removeAttributeNS, removeFocus, removeStyleAttribute, replaceStyleAttribute, rightClick, rightClick, setAttribute, setAttributeNodeNS, setAttributeNS, setId, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setNodeValue, writeStyleToElement
-
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNamespaceNode
getLocalName, getLowercaseName, getNamespaceURI, getPrefix, getQualifiedName, setPrefix
-
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNode
addCharacterDataChangeListener, addDomChangeListener, appendChild, asNormalizedText, asXml, basicRemove, compareDocumentPosition, fireCharacterDataChanged, fireNodeAdded, fireNodeDeleted, getAncestors, getBaseURI, getByXPath, getByXPath, getChildNodes, getChildren, getDescendants, getDomElementDescendants, getEndColumnNumber, getEndLineNumber, getFeature, getFirstByXPath, getFirstByXPath, getFirstChild, getHtmlElementDescendants, getHtmlPageOrNull, getIndex, getLastChild, getNextElementSibling, getNextSibling, getNodeValue, getOwnerDocument, getPage, getParentNode, getPreviousElementSibling, getPreviousSibling, getReadyState, getScriptableObject, getSelectorList, getStartColumnNumber, getStartLineNumber, getTextContent, getUserData, getVisibleText, hasChildNodes, hasFeature, insertBefore, insertBefore, isAncestorOf, isAncestorOfAny, isAttachedToPage, isDefaultNamespace, isEqualNode, isSameNode, isSupported, isTrimmedText, lookupNamespaceURI, lookupPrefix, normalize, notifyIncorrectness, onAddedToDocumentFragment, onAddedToPage, querySelector, querySelectorAll, quietlyRemoveAndMoveChildrenTo, remove, removeAllChildren, removeCharacterDataChangeListener, removeChild, removeDomChangeListener, replace, replaceChild, setEndLocation, setNextSibling, setParentNode, setPreviousSibling, setReadyState, setScriptableObject, setStartLocation, setTextContent, setUserData
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.w3c.dom.Node
appendChild, compareDocumentPosition, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setPrefix, setTextContent, setUserData
-
-
-
-
Field Detail
-
TAG_NAME
public static final java.lang.String TAG_NAME
The HTML tag represented by this element.- See Also:
- Constant Field Values
-
-
Method Detail
-
getCharsetAttribute
public final java.lang.String getCharsetAttribute()
Returns the value of the attributecharset. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Specified by:
getCharsetAttributein interfaceScriptElement- Returns:
- the value of the attribute
charsetor an empty string if that attribute isn't defined.
-
getTypeAttribute
public final java.lang.String getTypeAttribute()
Returns the value of the attributetype. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Returns:
- the value of the attribute
typeor an empty string if that attribute isn't defined.
-
getLanguageAttribute
public final java.lang.String getLanguageAttribute()
Returns the value of the attributelanguage. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Returns:
- the value of the attribute
languageor an empty string if that attribute isn't defined.
-
getSrcAttribute
public final java.lang.String getSrcAttribute()
Returns the value of the attributesrc. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Specified by:
getSrcAttributein interfaceScriptElement- Returns:
- the value of the attribute
srcor an empty string if that attribute isn't defined.
-
getEventAttribute
public final java.lang.String getEventAttribute()
Returns the value of the attributeevent.- Returns:
- the value of the attribute
event
-
getHtmlForAttribute
public final java.lang.String getHtmlForAttribute()
Returns the value of the attributefor.- Returns:
- the value of the attribute
for
-
getDeferAttribute
public final java.lang.String getDeferAttribute()
Returns the value of the attributedefer. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Returns:
- the value of the attribute
deferor an empty string if that attribute isn't defined.
-
isDeferred
public boolean isDeferred()
Returnstrueif this script is deferred.- Specified by:
isDeferredin interfaceScriptElement- Returns:
trueif this script is deferred
-
mayBeDisplayed
public boolean mayBeDisplayed()
Returnstrueif nodes of this type can ever be displayed,falseotherwise. Examples of nodes that can never be displayed are <head>, <meta>, <script>, etc.- Overrides:
mayBeDisplayedin classDomNode- Returns:
trueif nodes of this type can ever be displayed,falseotherwise- See Also:
DomNode.isDisplayed()
-
setAttributeNS
protected void setAttributeNS(java.lang.String namespaceURI, java.lang.String qualifiedName, java.lang.String attributeValue, boolean notifyAttributeChangeListeners, boolean notifyMutationObservers)If setting the src attribute, this method executes the new JavaScript if necessary (behavior varies by browser version). Sets the value of the attribute specified by namespace and qualified name.- Overrides:
setAttributeNSin classHtmlElement- Parameters:
namespaceURI- the URI that identifies an XML namespacequalifiedName- the qualified name (prefix:local) of the attributeattributeValue- the value of the attributenotifyAttributeChangeListeners- to notify the associatedHtmlAttributeChangeListenersnotifyMutationObservers- to notifyMutationObservers or not
-
onAllChildrenAddedToPage
public void onAllChildrenAddedToPage(boolean postponed)
Executes the onreadystatechange handler when simulating IE, as well as executing the script itself, if necessary. Lifecycle method invoked after a node and all its children have been added to a page, during parsing of the HTML. Intended to be overridden by nodes which need to perform custom logic after they and all their child nodes have been processed by the HTML parser. This method is not recursive, and the default implementation is empty, so there is no need to call super.onAllChildrenAddedToPage() if you implement this method.- Overrides:
onAllChildrenAddedToPagein classDomNode- Parameters:
postponed- whether to usePostponedActionor no
-
asText
@Deprecated public java.lang.String asText()
Deprecated.as of version 2.48.0; use asNormalizedText() insteadDescription copied from class:DomNodeReturns a textual representation of this element that represents what would be visible to the user if this page was shown in a web browser. For example, a single-selection select element would return the currently selected value as text.- Overrides:
asTextin classDomNode- Returns:
- an empty string as the content of script is not visible by itself
- See Also:
DomNode.asText()
-
isEmptyXmlTagExpanded
protected boolean isEmptyXmlTagExpanded()
Indicates if a node without children should be written in expanded form as XML (i.e. with closing tag rather than with "/>")- Overrides:
isEmptyXmlTagExpandedin classDomElement- Returns:
trueto make generated XML readable as HTML
-
printChildrenAsXml
protected void printChildrenAsXml(java.lang.String indent, java.io.PrintWriter printWriter)Recursively writes the XML data for the node tree starting atnode.- Overrides:
printChildrenAsXmlin classDomNode- Parameters:
indent- white space to indent child nodesprintWriter- writer where child nodes are written
-
resetExecuted
public void resetExecuted()
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Resets the executed flag.- See Also:
processImportNode(Document)
-
processImportNode
public void processImportNode(com.gargoylesoftware.htmlunit.javascript.host.dom.Document doc)
Description copied from class:DomNamespaceNodeINTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Lifecycle method to support special processing for js method importNode.- Overrides:
processImportNodein classDomNamespaceNode- Parameters:
doc- the import target document- See Also:
Document.importNode( com.gargoylesoftware.htmlunit.javascript.host.dom.Node, boolean),processImportNode(com.gargoylesoftware.htmlunit.javascript.host.dom.Document)
-
toString
public java.lang.String toString()
Returns a string representation of this object.- Overrides:
toStringin classDomElement- Returns:
- a string representation of this object
-
getDefaultStyleDisplay
public HtmlElement.DisplayStyle getDefaultStyleDisplay()
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Returns the default display style.- Overrides:
getDefaultStyleDisplayin classHtmlElement- Returns:
- the default display style
-
markAsCreatedByJavascript
public void markAsCreatedByJavascript()
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Marks this frame as created by javascript. This is needed to handle some special IE behavior.
-
wasCreatedByJavascript
public boolean wasCreatedByJavascript()
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Returns true if this frame was created by javascript. This is needed to handle some special IE behavior.- Returns:
- true or false
-
isExecuted
public boolean isExecuted()
Returns if executed.- Specified by:
isExecutedin interfaceScriptElement- Returns:
- if executed
-
setExecuted
public void setExecuted(boolean executed)
Sets if executed.- Specified by:
setExecutedin interfaceScriptElement- Parameters:
executed- if executed
-
-