Class HtmlImage
- All Implemented Interfaces:
Serializable
,Cloneable
,Element
,Node
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.htmlunit.html.HtmlElement
HtmlElement.DisplayStyle
Nested classes/interfaces inherited from class org.htmlunit.html.DomElement
DomElement.ChildElementsIterator
Nested classes/interfaces inherited from class org.htmlunit.html.DomNode
DomNode.ChildIterator, DomNode.DescendantDomElementsIterator, DomNode.DescendantDomNodesIterator, DomNode.DescendantElementsIterator<T extends DomNode>, DomNode.DescendantHtmlElementsIterator
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The HTML tag represented by this element.static final String
Another HTML tag represented by this element.Fields inherited from class org.htmlunit.html.HtmlElement
ATTRIBUTE_CHECKED, ATTRIBUTE_HIDDEN, ATTRIBUTE_REQUIRED, TAB_INDEX_OUT_OF_BOUNDS
Fields inherited from class org.htmlunit.html.DomElement
ATTRIBUTE_NOT_DEFINED, ATTRIBUTE_VALUE_EMPTY, ID_ATTRIBUTE, NAME_ATTRIBUTE, SRC_ATTRIBUTE, TYPE_ATTRIBUTE, VALUE_ATTRIBUTE
Fields inherited from class org.htmlunit.html.DomNode
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
Modifier and TypeMethodDescriptionclick()
Simulates clicking this element at the position(0, 0)
.click
(int x, int y) Simulates clicking this element at the specified position.protected boolean
doClickStateUpdate
(boolean shiftKey, boolean ctrlKey) Performs the click action on the enclosing A tag (if any).void
doOnLoad()
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.fireEvent
(org.htmlunit.javascript.host.event.Event event) INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Fires the event on the element.final String
Returns the value of the attributealign
.final String
Returns the value of the attributealt
.final String
Returns the value of the attributeborder
.INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Returns the default display style.int
Returns the image's actual height (not the image'sheight attribute
).final String
Returns the value of the attributeheight
.int
Returns the value same value as the js height property.final String
Returns the value of the attributehspace
.org.htmlunit.platform.image.ImageData
final String
Returns the value of the attributeismap
.final String
Returns the value of the attributelongdesc
.final String
Returns the value of the attributename
.Returns the original element qualified name, this is needed to differentiate betweenimg
andimage
.getSrc()
Returns the value of thesrc
value.final String
Returns the value of the attributesrc
.final String
Returns the value of the attributeusemap
.final String
Returns the value of the attributevspace
.getWebResponse
(boolean downloadIfNeeded) Returns theWebResponse
for the image contained by this image element.int
getWidth()
Returns the image's actual width (not the image'swidth attribute
).final String
Returns the value of the attributewidth
.int
Returns the value same value as the js width property.boolean
boolean
Returnstrue
if this node is displayed and can be visible to the user (ignoring screen size, scrolling limitations, color, font-size, or overlapping nodes).void
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Marks this frame as created by javascript.protected void
Lifecycle method invoked whenever a node is added to a page.void
onload()
void
processImportNode
(org.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.void
Saves this image as the specified file.protected void
setAttributeNS
(String namespaceURI, String qualifiedName, String value, boolean notifyAttributeChangeListeners, boolean notifyMutationObservers) Sets the value of the attribute specified by namespace and qualified name.boolean
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 org.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, isHidden, isOptional, isRequired, isRequiredSupported, isShiftPressed, isSubmittableByEnter, isValid, notifyAttributeChangeListeners, removeAttribute, removeChild, removeHtmlAttributeChangeListener, setAttributeNode, setHidden, setHidden, setOwningForm, setRequired, type, type, type, type, typeDone
Methods inherited from class org.htmlunit.html.DomElement
blur, click, click, click, click, dblClick, dblClick, doClickFireChangeEvent, doClickFireClickEvent, fireEvent, focus, getAttribute, getAttributeDirect, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributesMap, getChildElementCount, getChildElements, getElementsByTagName, getElementsByTagNameNS, getEventTargetElement, getFirstElementChild, getId, getLastElementChild, getNodeType, getSchemaTypeInfo, getStaticElementsByTagName, getStyleElement, getStyleElementCaseInSensitive, getStyleMap, getTagName, hasAttribute, hasAttributeNS, hasAttributes, isDisabledElementAndDisabled, isEmptyXmlTagExpanded, 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, setDefaults, setId, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setInnerHtml, setNodeValue, toString, writeStyleToElement
Methods inherited from class org.htmlunit.html.DomNamespaceNode
getLowercaseName, getNamespaceURI, getPrefix, getQualifiedName, setPrefix
Methods inherited from class org.htmlunit.html.DomNode
addCharacterDataChangeListener, addDomChangeListener, appendChild, asNormalizedText, asXml, basicRemove, closest, 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, lookupNamespaceURI, lookupPrefix, mayBeDisplayed, normalize, notifyIncorrectness, onAddedToDocumentFragment, onAllChildrenAddedToPage, parseHtmlSnippet, printChildrenAsXml, querySelector, querySelectorAll, quietlyRemoveAndMoveChildrenTo, remove, removeAllChildren, removeCharacterDataChangeListener, removeChild, removeDomChangeListener, replace, replaceChild, setEndLocation, setParentNode, 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, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setPrefix, setTextContent, setUserData
-
Field Details
-
TAG_NAME
The HTML tag represented by this element.- See Also:
-
TAG_NAME2
Another HTML tag represented by this element.- See Also:
-
-
Method Details
-
onAddedToPage
protected void onAddedToPage()Lifecycle method invoked whenever a node is added to a page. Intended to be overridden by nodes which need to perform custom logic when they are added to a page. This method is recursive, so if you override it, please be sure to callsuper.onAddedToPage()
.- Overrides:
onAddedToPage
in classDomNode
-
setAttributeNS
protected void setAttributeNS(String namespaceURI, String qualifiedName, String value, boolean notifyAttributeChangeListeners, boolean notifyMutationObservers) Sets the value of the attribute specified by namespace and qualified name.- Overrides:
setAttributeNS
in classHtmlElement
- Parameters:
namespaceURI
- the URI that identifies an XML namespacequalifiedName
- the qualified name (prefix:local) of the attributevalue
- the value of the attributenotifyAttributeChangeListeners
- to notify the associatedHtmlAttributeChangeListener
snotifyMutationObservers
- to notifyMutationObserver
s or not
-
processImportNode
public void processImportNode(org.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.- Overrides:
processImportNode
in classDomNamespaceNode
- Parameters:
doc
- the import target document- See Also:
-
doOnLoad
public void doOnLoad()INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Executes this element's
onload
oronerror
handler. This method downloads the image if either of these handlers are present (prior to invoking the resulting handler), because applications sometimes use images to send information to the server and use these handlers to get notified when the information has been received by the server.See here and here for the discussion which lead up to this method.
This method may be called multiple times, but will only attempt to execute the
onload
oronerror
handler the first time it is invoked. -
getSrcAttribute
Returns the value of the attributesrc
. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Returns:
- the value of the attribute
src
or an empty string if that attribute isn't defined
-
getSrc
Returns the value of thesrc
value.- Returns:
- the value of the
src
value
-
getAltAttribute
Returns the value of the attributealt
. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Returns:
- the value of the attribute
alt
or an empty string if that attribute isn't defined
-
getNameAttribute
Returns the value of the attributename
. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Returns:
- the value of the attribute
name
or an empty string if that attribute isn't defined
-
getLongDescAttribute
Returns the value of the attributelongdesc
. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Returns:
- the value of the attribute
longdesc
or an empty string if that attribute isn't defined
-
getHeightAttribute
Returns the value of the attributeheight
. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Returns:
- the value of the attribute
height
or an empty string if that attribute isn't defined
-
getWidthAttribute
Returns the value of the attributewidth
. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Returns:
- the value of the attribute
width
or an empty string if that attribute isn't defined
-
getUseMapAttribute
Returns the value of the attributeusemap
. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Returns:
- the value of the attribute
usemap
or an empty string if that attribute isn't defined
-
getIsmapAttribute
Returns the value of the attributeismap
. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Returns:
- the value of the attribute
ismap
or an empty string if that attribute isn't defined
-
getAlignAttribute
Returns the value of the attributealign
. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Returns:
- the value of the attribute
align
or an empty string if that attribute isn't defined
-
getBorderAttribute
Returns the value of the attributeborder
. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Returns:
- the value of the attribute
border
or an empty string if that attribute isn't defined
-
getHspaceAttribute
Returns the value of the attributehspace
. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Returns:
- the value of the attribute
hspace
or an empty string if that attribute isn't defined
-
getVspaceAttribute
Returns the value of the attributevspace
. Refer to the HTML 4.01 documentation for details on the use of this attribute.- Returns:
- the value of the attribute
vspace
or an empty string if that attribute isn't defined
-
getHeight
Returns the image's actual height (not the image's
height attribute
).POTENTIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK
If the image has not already been downloaded, this method triggers a download and caches the image.
- Returns:
- the image's actual height
- Throws:
IOException
- if an error occurs while downloading or reading the image
-
getHeightOrDefault
public int getHeightOrDefault()Returns the value same value as the js height property.- Returns:
- the value of the
height
property
-
getWidth
Returns the image's actual width (not the image's
width attribute
).POTENTIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK
If the image has not already been downloaded, this method triggers a download and caches the image.
- Returns:
- the image's actual width
- Throws:
IOException
- if an error occurs while downloading or reading the image
-
getWidthOrDefault
public int getWidthOrDefault()Returns the value same value as the js width property.- Returns:
- the value of the
width
property
-
getImageData
- Returns:
- the
ImageData
of this image - Throws:
IOException
- in case of error
-
getWebResponse
Returns the
WebResponse
for the image contained by this image element.POTENTIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK
If the image has not already been downloaded and
downloadIfNeeded
istrue
, this method triggers a download and caches the image.- Parameters:
downloadIfNeeded
- whether or not the image should be downloaded (if it hasn't already been downloaded)- Returns:
null
if no download should be performed and one hasn't already been triggered; otherwise, the response received when performing a request for the image referenced by this element- Throws:
IOException
- if an error occurs while downloading the image
-
click
Simulates clicking this element at the specified position. This only makes sense for an image map (currently only server side), where the position matters. This method returns the page contained by this image's window after the click, which may or may not be the same as the original page, depending on JavaScript event handlers, etc.- Parameters:
x
- the x position of the clicky
- the y position of the click- Returns:
- the page contained by this image's window after the click
- Throws:
IOException
- if an IO error occurs
-
click
Simulates clicking this element at the position(0, 0)
. This method returns the page contained by this image's window after the click, which may or may not be the same as the original page, depending on JavaScript event handlers, etc.- Overrides:
click
in classDomElement
- Returns:
- the page contained by this image's window after the click
- Throws:
IOException
- if an IO error occurs
-
doClickStateUpdate
Performs the click action on the enclosing A tag (if any). This method implements the control state update part of the click action.The default implementation only calls doClickStateUpdate on parent's DomElement (if any). Subclasses requiring different behavior (like
HtmlSubmitInput
) will override this method.- Overrides:
doClickStateUpdate
in classDomElement
- Parameters:
shiftKey
-true
if SHIFT is pressedctrlKey
-true
if CTRL is pressed- Returns:
- true if doClickFireEvent method has to be called later on (to signal, that the value was changed)
- Throws:
IOException
- if an IO error occurred
-
saveAs
Saves this image as the specified file.- Parameters:
file
- the file to save to- Throws:
IOException
- if an IO error occurs
-
getDefaultStyleDisplay
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Returns the default display style.- Overrides:
getDefaultStyleDisplay
in classHtmlElement
- Returns:
- the default display style
-
onload
public void onload() -
isComplete
public boolean isComplete()- Returns:
- true if the image was successfully downloaded
-
isDisplayed
public boolean isDisplayed()Returns
true
if this node is displayed and can be visible to the user (ignoring screen size, scrolling limitations, color, font-size, or overlapping nodes).NOTE: If CSS is
Overwritten to support the hidden attribute (html5).disabled
, this method does not take this element's style into consideration!- Overrides:
isDisplayed
in classHtmlElement
- Returns:
true
if the node is visible to the user,false
otherwise- See Also:
-
markAsCreatedByJavascript
public void markAsCreatedByJavascript()INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Marks this frame as created by javascript. -
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.- Returns:
- true or false
-
getOriginalQualifiedName
Returns the original element qualified name, this is needed to differentiate betweenimg
andimage
.- Returns:
- the original element qualified name
-
getLocalName
- Specified by:
getLocalName
in interfaceNode
- Overrides:
getLocalName
in classDomNamespaceNode
-
fireEvent
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Fires the event on the element. Nothing is done if JavaScript is disabled.- Overrides:
fireEvent
in classDomElement
- Parameters:
event
- the event to fire- Returns:
- the execution result, or
null
if nothing is executed
-