javascript - language - load js files codeigniter
Codeigniter: Cómo incluir archivos javascript (6)
Almaceno mi javascript en un subdirectorio de mi carpeta de vista para que la ruta del archivo sea relativa a la vista a la que se llama y omito la base_url ().
Otra técnica que adopté fue definir una matriz de secuencias de comandos para incluir en mi controlador y luego recorrer la matriz en mi opinión para incluirlas. Esto me permite incluir funciones js especializadas solo cuando sea necesario.
$data[''scripts to load''] = array(''edit.js'',''menu.js'', ''contact.js'');
$this->load->view(''myview'');
Luego en la vista
<?php foreach($scripts_to_load as $script):?>
<script type=''text/javascript'' src = ''my_js/<?php echo $script;?>''>
<?php endforeach;?>
Si tiene archivos de script que se cargan en cada página, puede codificarlos en la vista de su pie de página, como se describe en las otras respuestas.
Hola, acabo de empezar a trabajar con el framework CodeIgniter. Mi estructura de directorio actual es
Demo(Project name)
+System
+Application
-Controllers
demo.php
+Model
-Views
view_demo.php
-Js
ajax.js
jquery.js
Por favor, dígame cómo incluir los archivos .js en view_demo.php.
Gracias raj
Echa un vistazo a la biblioteca de plantillas CodeIgniter de Phil Sturgeon. Usamos una versión modificada de la misma en el trabajo. http://philsturgeon.co.uk/code/codeigniter-template
La variable $ data a veces puede perderse si tiene vistas anidadas y no la pasa como argumento a las vistas secundarias / anidadas.
Encontré una solución simple que funciona muy bien para mí:
En tu archivo de vista actual configuras tu script de esta manera:
$ this-> scripts [] = ''/js/myscript.js'';
en su pie de página o en el archivo {whatever.php} inserte este código:
<?php
if(isset($this->scripts))
foreach($this->scripts as $script) :
?>
<script src="my_asset_path/js/<?=$script;?>"></script>
<?endforeach;?>
Si solo necesita un pice de código javascript, siempre puede usar funciones anónimas como esta:
<?php
$this->RenderScript[] = function() {
?>
<script>
console.log(''myjavascript code snippet'');
</script>
<?}?>
y en la parte inferior:
<?php
if(isset($this->RenderScript))
foreach($this->RenderScript as $script) {
$script();
}
?>
No incluiría archivos JS dentro del PHP, se emitirían como etiquetas de script dentro del HTML que produzca y que pueda producir como resultado del script PHP.
Por lo que sé, no hay una función incorporada en CodeIginiter para incluir esta salida como existe para CSS usando la función link_tag()
proporcionada por CI. He agregado una función llamada script_tag()
al archivo system/helpers/html_helper.php
de CI. La función es:
if ( ! function_exists(''script_tag'')) {
function script_tag($src = '''', $language = ''javascript'', $type = ''text/javascript'', $index_page = FALSE)
{
$CI =& get_instance();
$script = ''<scr''.''ipt'';
if (is_array($src)) {
foreach ($src as $k=>$v) {
if ($k == ''src'' AND strpos($v, ''://'') === FALSE) {
if ($index_page === TRUE) {
$script .= '' src="''.$CI->config->site_url($v).''"'';
}
else {
$script .= '' src="''.$CI->config->slash_item(''base_url'').$v.''"'';
}
}
else {
$script .= "$k=/"$v/"";
}
}
$script .= "></scr"."ipt>/n";
}
else {
if ( strpos($src, ''://'') !== FALSE) {
$script .= '' src="''.$src.''" '';
}
elseif ($index_page === TRUE) {
$script .= '' src="''.$CI->config->site_url($src).''" '';
}
else {
$script .= '' src="''.$CI->config->slash_item(''base_url'').$src.''" '';
}
$script .= ''language="''.$language.''" type="''.$type.''"'';
$script .= '' /></scr''.''ipt>''."/n";
}
return $script;
}
}
Luego en tu código PHP puedes hacer:
echo script_tag(''content/js/jquery-1.4.2.js'');
Solo usa el estándar:
<script src="/path/to/file.js" type="text/javascript" charset="utf-8"></script>
Dentro de tu vista! (No dentro de las etiquetas PHP, por supuesto). No creo que el ayudante de HTML CodeIgniter tenga ninguna función que pueda usar como una alternativa para escribir el HTML usted mismo.
base_url()
usar el base_url()
para incluir el archivo javascript en su VISTA.
Entonces, en el archivo view_demo.php:
<script type="text/javascript" src="<?php echo base_url();?>js/jquery.js" ></script>
<script type="text/javascript" src="<?php echo base_url();?>js/ajax.js" ></script>
Necesitará el ayudante de URL cargado. Para cargar el ayudante, debe ponerlo en su controlador demo.php:
$this->load->helper(''url'');
También puede cargar automáticamente en / config / autoload.php en la matriz de ayudantes.
Más información sobre base_url (): http://www.codeigniter.com/user_guide/helpers/url_helper.html#base_url