Problema com AJAX + import js  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
marcelo_mococa
Virtual Machine Man
[Avatar]

Membro desde: 03/03/2005 10:03:32
Mensagens: 622
Localização: São Paulo
Offline

Fala galera...

Estou chamando uma página por ajax e colocando seu conteúdo em um DIV. Dentro da página que estou chamando faço o import de alguns arquivos js. O problema é que não está sendo executado este import.

Alguém já passou por este problema? Não queria colocar todos os imports na página que fez a requisição por ajax.

Atenciosamente,
Marcelo Madeira

Marcelo Madeira - TCS
SCJP 1.5
SCWCD 1.4
blog

julianostr
GUJ Ranger
[Avatar]

Membro desde: 31/03/2006 14:16:14
Mensagens: 855
Localização: Blumenau - SC
Offline

Essa é uma das maneiras de carregar arquivos de script:


LASER
Light Amplification by Stimulated Emission of Radiation
marcelo_mococa
Virtual Machine Man
[Avatar]

Membro desde: 03/03/2005 10:03:32
Mensagens: 622
Localização: São Paulo
Offline

juliano.... meu problema não é esse.

Nas páginas chamadas via AJAX não está sendo executado ESTES imports

alguma outra solução?

Marcelo Madeira - TCS
SCJP 1.5
SCWCD 1.4
blog

DexterDF
Debugger
[Avatar]

Membro desde: 18/09/2002 19:39:13
Mensagens: 73
Localização: Brasilia-DF
Offline

uma idéia seria você colocar tudo de um JS só...

pois eu já tentei fazer isso que você falou e não consegui também...acho que é pq o HTML carrega os scripts em tempo de carregamento da página...
[ICQ]
rodrigopmatias
JavaChild

Membro desde: 08/12/2004 13:07:48
Mensagens: 145
Offline

julianostr wrote:Essa é uma das maneiras de carregar arquivos de script:

é importante dizer qual o type do script tem alguns browsers que interpretam mais de um tipo de script entao use a type='text/javascript' e se quiser ficar de acordo com a W3C use a tag em script toda em minusculo. vc deve lembrar outra coisa quando vc manipula a página usando AJAX entao o que vai valer são as imports feitas na página mestre.

http://rodrigopmatias.wordpress.com
Participe

Kubuntu 7.10
vinnymaran
JavaEvangelist
[Avatar]

Membro desde: 15/07/2005 16:16:32
Mensagens: 377
Localização: São Paulo - SP
Offline

marcelo_mococa acho q ja tive problemas cm isso tb.
Deixa eu ver se é a mesma coisa, apenas confirme para mim.
Vc quer executar um codico JS na pagina que recebe a requesição ajax ?certo !


[]'s

===============================
Vinícius Garcia Maran
Java Developer
[Email]
marcelo_mococa
Virtual Machine Man
[Avatar]

Membro desde: 03/03/2005 10:03:32
Mensagens: 622
Localização: São Paulo
Offline

mais ou menos... executar as funções eu consegui.

Recuperei todas as tags `script` da página e executei o conteúdo das tags (usando eval(xxx) ).

Gostaria mesmo é de importar os js na página.
Alguém sabe porque acontece isso? O browser não executa nada referente a javascript em páginas carregadas por ajax?


Marcelo Madeira - TCS
SCJP 1.5
SCWCD 1.4
blog

revsys
Smalltalk

Membro desde: 01/12/2006 20:26:32
Mensagens: 1
Offline

Eu tambem estou com o mesmo problema.

Depois que uma pagina é carregada atravez do ajax, os codigos js dentro da pagina não executão.

Alguem pode me ajudar, estou realmente precisando solucionar este problema.
alots_ssa
JavaEvangelist

Membro desde: 19/07/2005 11:21:24
Mensagens: 469
Localização: Salvador
Offline

Fala Marcelo, fiz o fj-21 com vc na caelum ano passado. Cara eu tive o mesmo problema e realmente não consegui dar esses imports não. A solução foi a que vc nao queria jogar tudo na pagina que é carregada. Se vc descobrir como avisa aê.

Alberto

http://alots.wordpress.com
[WWW] [MSN]
alots_ssa
JavaEvangelist

Membro desde: 19/07/2005 11:21:24
Mensagens: 469
Localização: Salvador
Offline

Galera,

Alguem tem alguma solução para esse problema. Ja tentei usar umas soluções como criar a tag script via javascript e adicionar a pagina dinamicamente, mas mesmo assim nao consegui carrega-lo.

Alberto

http://alots.wordpress.com
[WWW] [MSN]
pedrobusko
What is classpath?
[Avatar]

Membro desde: 01/02/2005 09:59:24
Mensagens: 7
Offline


a treta eh a seguinte...os imports são efetuados quando a pagina eh montada pela primeira vez....

deve ter alguma coisa errada nas suas chamadas AJAX, e a forma como o retorno esta sendo montado....se eu nao me engano, dentro do DIV q foi atualizado na chamada AJAX, vc nao vai conseguir executar funções contidas nos .js declarados no inicio da pagina...

eu tive um problema parecido, mo zica...se a função q vc esta tentando executar for isolada(não depender de nenhuma outra), tente coloca-la direto na pagina, soh pra teste....

flw
[MSN] [ICQ]
denecir
Smalltalk

Membro desde: 02/09/2008 13:09:29
Mensagens: 2
Offline

Pessoal, desenvolvi uma função Javascript chamada "doScript". Com ela, após exibir o conteúdo carregado por AJAX (em uma div por exemplo), é só chamar essa função passando o mesmo conteúdo.

Exemplo:
document.getElementById("minhaDiv").innerHTML = ajax.responseText;
doScript(ajax.responseText);


Veja um exemplo funcionando: http://www.acheimeuauto.com/estudos/doScript/

Se quiser, deixei disponível para download os arquivos do exemplo acima: http://www.acheimeuauto.com/estudos/doScript/esemplo_doScript.zip

Se não conseguir, é só falar...

Espero que ajude!

João da Silva
Desenvolvedor Web
[Email]
denecir
Smalltalk

Membro desde: 02/09/2008 13:09:29
Mensagens: 2
Offline

Ps. Esqueci...

Segue o conteúdo da função:

function doScript(texto){
var ini, pos_src, fim, codigo;
var objScript = null;
ini = texto.indexOf('<script', 0);
while (ini!=-1){
var objScript = document.createElement("script");
//Busca se tem algum src a partir do inicio do script
pos_src = texto.indexOf(' src', ini)
ini = texto.indexOf('>', ini) + 1;

//Verifica se este e um bloco de script ou include para um arquivo de scripts
if (pos_src < ini && pos_src >=0){//Se encontrou um "src" dentro da tag script, esta e um include de um arquivo script
//Marca como sendo o inicio do nome do arquivo para depois do src
ini = pos_src + 4;
//Procura pelo ponto do nome da extencao do arquivo e marca para depois dele
fim = texto.indexOf('.', ini)+4;
//Pega o nome do arquivo
codigo = texto.substring(ini,fim);
//Elimina do nome do arquivo os caracteres que possam ter sido pegos por engano
codigo = codigo.replace("=","".replace(" ","".replace("\"","".replace("\"","".replace("\'","".replace("\'","".replace(">","";
// Adiciona o arquivo de script ao objeto que sera adicionado ao documento
objScript.src = codigo;
}else{//Se nao encontrou um "src" dentro da tag script, esta e um bloco de codigo script
// Procura o final do script
fim = texto.indexOf('</script>', ini);
// Extrai apenas o script
codigo = texto.substring(ini,fim);
// Adiciona o bloco de script ao objeto que sera adicionado ao documento
objScript.text = codigo;
}

//Adiciona o script ao documento
document.body.appendChild(objScript);
// Procura a proxima tag de <script
ini = texto.indexOf('<script', fim);

//Limpa o objeto de script
objScript = null;
}
}>

João da Silva
Desenvolvedor Web
[Email]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team