Depois que enviei percebi que não ficou muito claro mesmo.
"biblioteca vinda do controller" = nome da(s) biblioteca(s) que o
controller enviou para ser carregada.
Seria algo como:
class Pagina extends Controllers
{
(...)
function pagina_abc()
{
$dados['biblioteca_js'] = 'jquery';
$this->load->view('index',$dados);
Sds
Julio Fagundes
Eric Saboia escreveu:
Não entendo essa definição de "biblioteca vinda do
controller" e "funcao vinda do controller". Na verdade não vejo o
controller como o requerente do JS, quem requer é a view, e isso é um
assunto pertinente a sua apresentação.
Denovo, até entendo a utilização de injeção pra por no header e tal,
mas não por que isso seja uma obrigação do controller, e sim porque é a
forma mais fácil de você fazer.
O correto nesse caso, na minha opnião, seria modificar o Load->view
pra parsear o html colocando as chamadas a _javascript_ no header. Mas
ainda assim não me parece necessário tal esforço... Continuo não
entendo que interferência um robo pode ter em relação a isso, queria
algum link mais "comprovado" sobre o assunto.. vou dar uma pesquisada.
Abraços,
2010/11/22 Bruno Barros <[email protected]>
Eita
Julio,
o que não gosto de fazer é isso:
<p>
<script
src=""></script>
<script
src=""></script>
<script
src=""></script>
<script>
funcao_vinda_do_controller_referente_a_biblioteca_1(12345);
outra_funcao_vinda_do_controller_referente_a_biblioteca_2('abcde');
</script>
</p>
O que você demonstrou foi outra coisa. Como já disse, se você colocar
as chamadas JS no final (o que você fez) também não vejo problema. O
que não acho semanticamente correto é fazer a macarronada. Puxar
bibliotecas no meio da página... junto com o conteúdo, pois ambos tem
funções muiiiito diferentes e por isso não deveriam estar dividindo o
mesmo espaço.
Outra coisa. Quando o ambiente é um back-end, não vejo tanto problema,
mas quando é front-end, realmente, não acho o melhor a fazer.
Em 22 de novembro de 2010 12:29, Julio
Fagundes <[email protected]>
escreveu:
JS fora do header não é semântico? pega leve camarada. rs
Uma coisa é você carregar sua biblioteca no meio da página, outra é
você fazer uma chamada a um método dela no "meio" da página o que é
normal.
e outra é você misturar isso tudo fazendo aquela macarronada. rs
Resumindo:
<head>
<script
src=""></script>
<script
src=""></script>
</head>
<body>
<div> CONTEUDO GERAL </div>
<div> RODAPE </div>
<script>
funcao_vinda_do_controller_referente_a_biblioteca_1(12345);
outra_funcao_vinda_do_controller_referente_a_biblioteca_2('abcde');
</script>
</body>
Como eu disse cara. você pode chamar as bibliotecas de forma dinâmica
pro header passando o nome delas como parametro vindo do controller,
assim como chamar as funções numa área mais separada, como depois do
rodapé;
Acho que não existe algo "pronto" pro que você quer. tu tem que colocar
a mão na massa.
Qualquer só gritar.
Sds
Julio Fagundes
Bruno Barros escreveu:
OK Julio,
veja no meu email anterior. Só não gosto desta mistura de JS no meio da
página em função da semântica do código. Da mesma forma que não
gostamos de usar JS e HTML no meio do PHP.
Eu estou usando o WP e adorando pela facilidade para projetos pequenos
e médios, mas os plugins injetam JS e CSS adoidado no meio da página.
:-(
Usando um framework tenho a possibilidade de fazer melhor, entende?
Abraços,
![]()
Em 22 de novembro de 2010 11:49, Julio
Fagundes <[email protected]>
escreveu:
Mas quando vocês colocam na View vocês inserem a
tag chamando o JS na
mão, ok?
- Sim e não.. a tag pode ser na mão.
mas o
arquivo.js pode ser dinâmico.
Vocês colocam tags <script> fora da header?
- Só deixe no header os necessários.
Tenha em mente que uma página só começa ser exibida depois de todo o
header carregado. então ali só deve ficar o necessário. (Ex: jQuery.js,
mas não as chamadas de funções do jQuery;)
em sites grandes você verá muitos js sendo chamados lá no rodapé. isso
é recomendação pra boa performance.
Ou vocês tem (no template) mais de um "header"?
- Nunca
Afinal temos páginas que usam determinados plugins e outras, não. Sendo
assim não carregamos as bibliotecas JS o tempo todo.
Isso ai vai da necessidade.
Você pode enviar uma condição do controller para a view. algo como um
array dos plugins que serão usados,
e na view que tem o header você recebe esse array e chama os devidos
plugins;
Sds
Julio Fagundes
Bruno Barros escreveu:
Mas quando vocês colocam na View vocês inserem a
tag
chamando o JS na mão, ok?
Vocês colocam tags <script> fora da header?
Ou vocês tem (no template) mais de um "header"?
Afinal temos páginas que usam determinados plugins e outras, não. Sendo
assim não carregamos as bibliotecas JS o tempo todo.
Abraços,
_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------
_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------
_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------
--
Eric Saboia - eric.saboia.org
CSM, ZCE
_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------
|