class AsyncJs in Advanced CSS/JS Aggregation 8.3
Same name and namespace in other branches
- 8.4 advagg_mod/src/Asset/AsyncJs.php \Drupal\advagg_mod\Asset\AsyncJs
Add async tag to scripts.
Hierarchy
- class \Drupal\advagg_mod\Asset\AsyncJs
Expanded class hierarchy of AsyncJs
1 file declares its use of AsyncJs
- InitSubscriber.php in advagg_mod/
src/ EventSubscriber/ InitSubscriber.php
1 string reference to 'AsyncJs'
- advagg_mod.services.yml in advagg_mod/
advagg_mod.services.yml - advagg_mod/advagg_mod.services.yml
1 service uses AsyncJs
File
- advagg_mod/
src/ Asset/ AsyncJs.php, line 8
Namespace
Drupal\advagg_mod\AssetView source
class AsyncJs {
/**
* Add Async attribute to all external script tags.
*
* @param string $content
* The response content.
*
* @return string
* Updated content.
*/
public function async($content) {
$pattern = '/<script src=".*"/';
return preg_replace_callback($pattern, [
$this,
'callback',
], $content);
}
/**
* Callback to replace individual stylesheet links.
*
* @param array $matches
* Array from matches from preg_replace_callback.
*
* @return string
* Updated html string.
*/
protected function callback(array $matches) {
return "{$matches[0]} async";
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AsyncJs:: |
public | function | Add Async attribute to all external script tags. | |
AsyncJs:: |
protected | function | Callback to replace individual stylesheet links. |