public static array|string|null
script
(mixed $file, mixed $options = array(), mixed $attribs = array())
public static function script($file, $options = array(), $attribs = array())
{
$options['relative'] = $options['relative'] ?? false;
$options['pathOnly'] = $options['pathOnly'] ?? false;
$options['detectBrowser'] = $options['detectBrowser'] ?? false;
$options['detectDebug'] = $options['detectDebug'] ?? true;
$includes = static::includeRelativeFiles('js', $file, $options['relative'], $options['detectBrowser'], $options['detectDebug']);
if ($options['pathOnly']) {
if (\count($includes) === 0) {
return;
}
if (\count($includes) === 1) {
return $includes[0];
}
return $includes;
}
$document = Factory::getApplication()->getDocument();
foreach ($includes as $include) {
if ($pos = strpos($include, '?') !== false) {
$options['version'] = substr($include, $pos + 1);
}
$document->addScript($include, $options, $attribs);
}
}