Javascript 如何限制多次加载同一个js
我说的是CakePHP助手。我想使用CakePHP的助手加载JS文件 考虑到Helper类的构造将加载所有必要的JS文件 但是,我需要在单个视图中多次调用该助手。因此,JS文件可能会被多次调用。我只想加载那些JS文件一次 有人能帮我报道一下吗 这将是我的助手脚本Javascript 如何限制多次加载同一个js,javascript,php,cakephp,cakephp-2.0,Javascript,Php,Cakephp,Cakephp 2.0,我说的是CakePHP助手。我想使用CakePHP的助手加载JS文件 考虑到Helper类的构造将加载所有必要的JS文件 但是,我需要在单个视图中多次调用该助手。因此,JS文件可能会被多次调用。我只想加载那些JS文件一次 有人能帮我报道一下吗 这将是我的助手脚本 <?php App::uses('AppHelper', 'View/Helper'); /** * @alias Mathjax Class for helper * @description This class is
<?php
App::uses('AppHelper', 'View/Helper');
/**
* @alias Mathjax Class for helper
* @description This class is to define helper in cakephp.
*/
class MathjaxHelper extends AppHelper {
/*
* Constructor of the class.
*/
function __construct(View $View, $settings = array()) {
parent::__construct($View, $settings);
//login to load all necessary JS files.
}
function create() {
//this function will return the helper html
}
}
使用HtmlHelper::script
如果使用带有'inline'=>false的方法来加载js文件,默认情况下,这些文件将被包含一次
布局文件
要使用此方法,请确保在布局文件中回显$scripts\u for\u layout
变量。例如:
<html>
<head>
...
</head>
<body>
...
<?php echo $scripts_for_layout ?>
</body>
</html>
...
...
查看文件
在视图、元素或帮助程序中—只需确保使用内联参数调用脚本方法:
<?php $this->Html->script('my', array('inline' => false)); ?>
通过这种方式,无论您使用给定的js文件调用脚本方法的频率有多高,它只会在结果html输出中出现一次。使用HtmlHelper::script
如果使用带有'inline'=>false的方法来加载js文件,默认情况下,这些文件将被包含一次
布局文件
要使用此方法,请确保在布局文件中回显$scripts\u for\u layout
变量。例如:
<html>
<head>
...
</head>
<body>
...
<?php echo $scripts_for_layout ?>
</body>
</html>
...
...
查看文件
在视图、元素或帮助程序中—只需确保使用内联参数调用脚本方法:
<?php $this->Html->script('my', array('inline' => false)); ?>
通过这种方式,无论您使用给定的js文件调用脚本方法的频率有多高,它只会在结果html输出中出现一次。您也可以按照documentationTrue使用$options['one']
,但这仅在js脚本以内联方式转储到视图文件中时才相关(这不应该是这样,我也不鼓励)。您也可以根据documentationTrue使用$options['once']
,但这仅在js脚本内联转储到视图文件中时才相关(这不应该是这样,我也不鼓励)。