Package org.htmlunit.html
Class ScriptElementSupport
- java.lang.Object
-
- org.htmlunit.html.ScriptElementSupport
-
public final class ScriptElementSupport extends java.lang.Object
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
A helper class to be used by elements which supportScriptElement
.
-
-
Field Summary
Fields Modifier and Type Field Description private static org.apache.commons.logging.Log
LOG
private static java.lang.String
SLASH_SLASH_COLON
Invalid source attribute which should be ignored (used by JS libraries like jQuery).
-
Constructor Summary
Constructors Modifier Constructor Description private
ScriptElementSupport()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static void
executeEvent(DomElement element, java.lang.String type)
private static void
executeInlineScriptIfNeeded(DomElement element)
Executes this script node as inline script if necessary and/or possible.static void
executeScriptIfNeeded(DomElement element, boolean ignoreAttachedToPage, boolean ignorePageIsAncestor)
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Executes this script node if necessary and/or possible.private static java.lang.String
getScriptCode(DomElement element)
Gets the script held within the script tag.private static boolean
isExecutionNeeded(DomElement element, boolean ignoreAttachedToPage, boolean ignorePageIsAncestor)
Indicates if script execution is necessary and/or possible.static boolean
isJavaScript(DomElement element, java.lang.String typeAttribute, java.lang.String languageAttribute)
Returns true if a script with the specified type and language attributes is actually JavaScript.static void
onAllChildrenAddedToPage(DomElement element, boolean postponed)
Lifecycle method invoked after a node and all its children have been added to a page, during parsing of the HTML.
-
-
-
Field Detail
-
LOG
private static final org.apache.commons.logging.Log LOG
-
SLASH_SLASH_COLON
private static final java.lang.String SLASH_SLASH_COLON
Invalid source attribute which should be ignored (used by JS libraries like jQuery).- See Also:
- Constant Field Values
-
-
Method Detail
-
onAllChildrenAddedToPage
public static void onAllChildrenAddedToPage(DomElement element, boolean postponed)
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 callsuper.onAllChildrenAddedToPage()
if you implement this method.- Parameters:
element
- the elementpostponed
- whether to usePostponedAction
or no
-
executeScriptIfNeeded
public static void executeScriptIfNeeded(DomElement element, boolean ignoreAttachedToPage, boolean ignorePageIsAncestor)
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Executes this script node if necessary and/or possible.- Parameters:
element
- the elementignoreAttachedToPage
- don't do the isAttachedToPage checkignorePageIsAncestor
- don't do the element.getPage().isAncestorOf(element) check
-
isExecutionNeeded
private static boolean isExecutionNeeded(DomElement element, boolean ignoreAttachedToPage, boolean ignorePageIsAncestor)
Indicates if script execution is necessary and/or possible.- Parameters:
element
- the elementignoreAttachedToPage
- don't do the isAttachedToPage checkignorePageIsAncestor
- don't do the element.getPage().isAncestorOf(element) check- Returns:
true
if the script should be executed
-
isJavaScript
public static boolean isJavaScript(DomElement element, java.lang.String typeAttribute, java.lang.String languageAttribute)
Returns true if a script with the specified type and language attributes is actually JavaScript. According to W3C recommendation are content types case insensitive.- Parameters:
element
- the elementtypeAttribute
- the type attribute specified in the script taglanguageAttribute
- the language attribute specified in the script tag- Returns:
- true if the script is JavaScript
-
executeEvent
private static void executeEvent(DomElement element, java.lang.String type)
-
executeInlineScriptIfNeeded
private static void executeInlineScriptIfNeeded(DomElement element)
Executes this script node as inline script if necessary and/or possible.
-
getScriptCode
private static java.lang.String getScriptCode(DomElement element)
Gets the script held within the script tag.
-
-