Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

duzao7667

Ajax não interage com CSS e JS?!?

Recommended Posts

Olá! =)Estou usando requisições assincronas em uma pagina porem quando a carrego as funcoes javascript nao são encontradas (no IE e no FF) e o css mesmo dando import na pagina carregada assincronamente não funga (no IE somente).Teria um jeito de usar os scripts javascript das paginas carregadas assincronamente e aplicar CSS na mesma ou então a mesma seguir as propriedades do corpo da pagina fixa oO???Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho que entendi sua pergunta...Bem, vamos lá:O navegador não executa/interpreta javascript/css inseridos via innerHTML (o css inline é interpretado)... Porém há duas formas de você resolver este seu problema,O fácil :Usando uma LIB de javascript (eu particulamente adoro a prototype)ou Dificil:Você vai ter que rescrever todo o seu código (html) e javascript para se adaptar a estas limitações.Se não me engando já discutimos isto neste forúm antes, dá uma consulta você irá encontrar outras soluções.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não quero usar prototype, estou fazendo as minhas proprias libs ^^'In-line?? Mas eu vou ter q setar o style em cada tag =S.Nao teria um jeito de apenas relacionar as classes ou injetar o CSS na pagina??

Compartilhar este post


Link para o post
Compartilhar em outros sites

CSS inline, é definido no atributo style, embutido na TAG.

Assim:

<div style="border:solid 1px #000; width:300px; height:300px;">iMasters<div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao teria um jeito de apenas relacionar as classes ou injetar o CSS na pagina??

Sim claro que tem, tente algo como:
var head = document.getElementByTagName('head');var myStyle = document.createElement('style');myStyle.innerHTML = "p { color: #FFF; background-color: #000}";head.appendChild(myStyle);
Olha, este script esta em uma forma minificada, sei que existe maneiras mais "elegantes" de fazer este mesmo trabalho, mas fazendo assim vai funcionar também :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

o.O

Que coisa, os navegadores deveriam fazer isto por padrão...pura preguiça dos programadores de browsers ¬¬' xD

 

A solução do JS é relativamente simples tb, use a mesma estrutura do code que nosso amigo klaygomes passou modificado:

 

var head = document.getElementsByTagName('head');var injetado = document.createElement('script');injetado.src='script.js';head.appendChild(injetado);
;)

 

Obrigado.

 

-----------------------------------------------------------------------------------

Post Mesclado

-----------------------------------------------------------------------------------

 

Galera, quebrou XD

 

Ja fiz tudo quante remasterização do codigo, mas como sempre no mozilla funciona todos e no IE6 NADA =S

 

dai tentei fazer algo sem usar o ajax para ir testando e no consegui

 

<html><style type="text/css">.box{width: 400px;height: 400px;border:1px solid #000000;position: absolute;}</style><body>oO</body><script>//var head = document.getElementsByTagName('body');function criadiv(){var posx=window.innerWidth || self.innerWidth || document.body.offsetWidth;var posy=window.innerHeight || self.innerHeight || document.body.offsetHeight;//div.style.width='400px';div.style.height='400px';window.alert(posx);var div = document.createElement('div');div.innerHTML='xD';div.setAttribute('class','box');div.style.left=((posx/2)-400/2);div.style.top=((posy/2)-400/2);document.body.appendChild(div);}document.onload=criadiv();</script></html>
Tb ja tentei dar um set atribute e injetar um style property direto e nao fungou, tentei usar @include tb num fungou...sera q tem mais alguma coisa q eu to esquecendo ou ignorando???

 

e aproveitando como eu posso evitar o erro que ocorre se eu botar o script antes do body (ele não acha o body xD)???

 

Obrigado XD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Abrindo post dinovo para não criar um novo.

 

Consegui intepretar os CSS recebidos pelo ajax, porem quando eu os apensiono ao Head, nada acontece o.O

 

Depois de apensionar acessei o parâmetro text do css que criei e está tudo la, certinho, tem tudo pra fungar mas num funga.

 

O que pode ser????

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.