DoNotBlockScriptTextTemplates
extends AbstractPlugin
in package
This plugin allows you to not block content within `script[type="text/template"]` markups.
It additionally supports <template>
tags as an alternative to script[type="text/template"]
.
If you want to use this plugin, make sure, that this is the first registered plugin!
Table of Contents
Constants
- INVISIBLE_ATTRIBUTE_MODIFIED = 'content-blocker-do-not-block-script'
- MASK_INLINE_SCRIPT_PRINTF = 'DO_NOT_BLOCK_%s_SCRIPT_TEXT_TEMPLATE'
- TYPE_TEXT_TEMPLATE = 'text/template'
- TYPE_TEXT_TEMPLATE_MASK = 'text/content-blocker-do-not-block-script'
Properties
- $excludeIfMatches : array<string|int, string>
- List of exclusions via selector syntax.
- $headlessContentBlocker : mixed
- $md5ToInlineScriptMap : mixed
Methods
- __construct() : mixed
- C'tor.
- addExclusionIfMatches() : mixed
- Add a selector syntax which should be excluded by this plugin, e.g. `script[class="my-exclude"]`
- afterSetup() : mixed
- The content blocker got setup completely.
- beforeMatch() : mixed
- Called before a match got found.
- blockableStringExpression() : string
- Allows to modify the passed string expression to a blockable.
- blockedMatch() : mixed
- Called after a match got blocked.
- checkResult() : BlockedResult
- Called after a match got found and the matcher decided, if it should be blocked or not.
- getHeadlessContentBlocker() : mixed
- Getter.
- init() : mixed
- Initialize your plugin add e.g. new visual parent definitions.
- inlineStyleBlockRule() : bool
- Decide if a URL in a CSS rule should be blocked.
- inlineStyleModifyDocuments() : bool
- Allows to modify blocked CSS documents.
- inlineStyleShouldBeExtracted() : bool
- Do not extract blocked rules of a CSS inline script to a second document.
- keepAlwaysAttributes() : array<string|int, string>
- Keep attributes for a specific match.
- modifyHtmlAfterProcessing() : mixed
- Allows to modify the HTML after the content blocker has done its job.
- notBlockedMatch() : mixed
- Called after a match got not blocked. Opposite of `blockedMatch`.
- setup() : mixed
- Before the content blocker gets setup.
- skipInlineScriptVariableAssignment() : array<string|int, string>
- Skip inline script by variable name.
- visualParent() : bool|string|number
- Set a visual parent for a specific match.
Constants
INVISIBLE_ATTRIBUTE_MODIFIED
public
mixed
INVISIBLE_ATTRIBUTE_MODIFIED
= 'content-blocker-do-not-block-script'
MASK_INLINE_SCRIPT_PRINTF
public
mixed
MASK_INLINE_SCRIPT_PRINTF
= 'DO_NOT_BLOCK_%s_SCRIPT_TEXT_TEMPLATE'
TYPE_TEXT_TEMPLATE
public
mixed
TYPE_TEXT_TEMPLATE
= 'text/template'
TYPE_TEXT_TEMPLATE_MASK
public
mixed
TYPE_TEXT_TEMPLATE_MASK
= 'text/content-blocker-do-not-block-script'
Properties
$excludeIfMatches
List of exclusions via selector syntax.
private
array<string|int, string>
$excludeIfMatches
= []
$headlessContentBlocker
private
mixed
$headlessContentBlocker
$md5ToInlineScriptMap
private
mixed
$md5ToInlineScriptMap
= []
Methods
__construct()
C'tor.
public
final __construct(HeadlessContentBlocker $headlessContentBlocker) : mixed
Parameters
- $headlessContentBlocker : HeadlessContentBlocker
addExclusionIfMatches()
Add a selector syntax which should be excluded by this plugin, e.g. `script[class="my-exclude"]`
public
addExclusionIfMatches(string $expression) : mixed
Parameters
- $expression : string
afterSetup()
The content blocker got setup completely.
public
afterSetup() : mixed
beforeMatch()
Called before a match got found.
public
beforeMatch(AbstractMatcher $matcher, AbstractMatch $match) : mixed
Parameters
- $matcher : AbstractMatcher
- $match : AbstractMatch
blockableStringExpression()
Allows to modify the passed string expression to a blockable.
public
blockableStringExpression(string $expression, AbstractBlockable $blockable) : string
Parameters
- $expression : string
- $blockable : AbstractBlockable
Return values
stringblockedMatch()
Called after a match got blocked.
public
blockedMatch(BlockedResult $result, AbstractMatcher $matcher, AbstractMatch $match) : mixed
Parameters
- $result : BlockedResult
- $matcher : AbstractMatcher
- $match : AbstractMatch
checkResult()
Called after a match got found and the matcher decided, if it should be blocked or not.
public
checkResult(BlockedResult $result, AbstractMatcher $matcher, AbstractMatch $match) : BlockedResult
Parameters
- $result : BlockedResult
- $matcher : AbstractMatcher
- $match : AbstractMatch
Return values
BlockedResultgetHeadlessContentBlocker()
Getter.
public
final getHeadlessContentBlocker() : mixed
init()
Initialize your plugin add e.g. new visual parent definitions.
public
init() : mixed
inlineStyleBlockRule()
Decide if a URL in a CSS rule should be blocked.
public
inlineStyleBlockRule(BlockedResult $result, string $url, StyleInlineMatcher|StyleInlineAttributeMatcher $matcher, StyleInlineMatch|StyleInlineAttributeMatch $match) : bool
Parameters
- $result : BlockedResult
- $url : string
- $matcher : StyleInlineMatcher|StyleInlineAttributeMatcher
- $match : StyleInlineMatch|StyleInlineAttributeMatch
Return values
boolinlineStyleModifyDocuments()
Allows to modify blocked CSS documents.
public
inlineStyleModifyDocuments(Document $document, Document $extractedDocument, StyleInlineMatcher|StyleInlineAttributeMatcher $matcher, StyleInlineMatch|StyleInlineAttributeMatch $match) : bool
Parameters
- $document : Document
- $extractedDocument : Document
- $matcher : StyleInlineMatcher|StyleInlineAttributeMatcher
- $match : StyleInlineMatch|StyleInlineAttributeMatch
Return values
boolinlineStyleShouldBeExtracted()
Do not extract blocked rules of a CSS inline script to a second document.
public
inlineStyleShouldBeExtracted(bool $extract, StyleInlineMatcher|StyleInlineAttributeMatcher $matcher, StyleInlineMatch|StyleInlineAttributeMatch $match) : bool
Parameters
- $extract : bool
- $matcher : StyleInlineMatcher|StyleInlineAttributeMatcher
- $match : StyleInlineMatch|StyleInlineAttributeMatch
Return values
boolkeepAlwaysAttributes()
Keep attributes for a specific match.
public
keepAlwaysAttributes(array<string|int, string> $keepAttributes, AbstractMatcher $matcher, AbstractMatch $match) : array<string|int, string>
Parameters
- $keepAttributes : array<string|int, string>
- $matcher : AbstractMatcher
- $match : AbstractMatch
Return values
array<string|int, string>modifyHtmlAfterProcessing()
Allows to modify the HTML after the content blocker has done its job.
public
modifyHtmlAfterProcessing(string $html) : mixed
Parameters
- $html : string
notBlockedMatch()
Called after a match got not blocked. Opposite of `blockedMatch`.
public
notBlockedMatch(BlockedResult $result, AbstractMatcher $matcher, AbstractMatch $match) : mixed
Parameters
- $result : BlockedResult
- $matcher : AbstractMatcher
- $match : AbstractMatch
setup()
Before the content blocker gets setup.
public
setup() : mixed
skipInlineScriptVariableAssignment()
Skip inline script by variable name.
public
skipInlineScriptVariableAssignment(array<string|int, string> $names, ScriptInlineMatcher $matcher, ScriptInlineMatch $match) : array<string|int, string>
Parameters
- $names : array<string|int, string>
- $matcher : ScriptInlineMatcher
- $match : ScriptInlineMatch
Return values
array<string|int, string>visualParent()
Set a visual parent for a specific match.
public
visualParent(bool|string|number $visualParent, AbstractMatcher $matcher, AbstractMatch $match) : bool|string|number
Parameters
- $visualParent : bool|string|number
- $matcher : AbstractMatcher
- $match : AbstractMatch