39 lines
874 B
PHP
39 lines
874 B
PHP
<?php
|
|
|
|
/**
|
|
* @author Tassos Marinos <info@tassos.gr>
|
|
* @link https://www.tassos.gr
|
|
* @copyright Copyright © 2024 Tassos All Rights Reserved
|
|
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
|
|
*/
|
|
|
|
namespace NRFramework;
|
|
|
|
defined('_JEXEC') or die;
|
|
|
|
use Joomla\CMS\Factory;
|
|
|
|
class Document
|
|
{
|
|
/**
|
|
* A cross Joomla compatible method to inject inline script as module
|
|
*
|
|
* @param string $script The inline script to load as module (defer)
|
|
*
|
|
* @return void
|
|
*/
|
|
static public function addInlineScriptDefer($script)
|
|
{
|
|
$doc = Factory::getApplication()->getDocument();
|
|
|
|
if (defined('nrJ4'))
|
|
{
|
|
// Joomla => 4
|
|
$doc->getWebAssetManager()->addInlineScript($script, [], ['type' => 'module']);
|
|
} else
|
|
{
|
|
// Joomla <= 3
|
|
$doc->addCustomTag('<script type="module">' . $script . '</script>');
|
|
}
|
|
}
|
|
} |