Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, realmente um dúvida complicada para mim, nem sei se estou postando área correta então já peço desculpas...
O esquema é o seguinte, eu apliquei um código do Willian Bruno para fazer um esquema estilo iframe para a minha navegação funcionar, eu só apliquei ele para um menu em flash com a ajuda dele também e está funcionando perfeitamente...
Segue o código dele:
<script type="text/javascript">
function id( el ){
return document.getElementById( el );
}
function pega_arq( url ){
var file = url.split('#');
return ( file[1] ) ? file[1]+'.html' : 'home.html';
}
function getHTTPObject(){
if(window.XMLHttpRequest){
return new XMLHttpRequest();
}else if(window.ActiveXObject){
var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
for(var i = 0; i < prefixes.length; i++){
try {
return new ActiveXObject(prefixes[i] + ".XMLHTTP");
} catch (e) {}
}
}
}
var xmlHttp = getHTTPObject();
function abre( arq ){
xmlHttp.open("GET", arq,true);
xmlHttp.onreadystatechange = function(){
if (xmlHttp.readyState == 4){
id('content').innerHTML = xmlHttp.responseText;
}
}
xmlHttp.send( null );
}
window.onload = function(){
var as = document.getElementsByTagName('b');
for( var i=0; i<as.length; i++ ){
as[i].onclick = function(){
abre( pega_arq( this.href ) );
}
}
abre( pega_arq( document.location.href ) );
}
</script>
O código está perfeito, abre a página na minha div content perfeitamente, o problema é que eu tenho uns vídeos na página com lightbox, os arquivos para o lightbox são enormes tendo diversas engines que nem ousei mexer, mas estava funcionando perfeitamente, bastava eu adicionar os códigos no head e esses para os vídeos:
<a href="#exemplo" class='inline'>Lightbox</a>
Agora eis o problema, o código lightbox está funcionando perfeitamente, tanto do willian bruno como o do lightbox, o problema é a interação deles, sem o código do iframe o lightbox funciona, mas com o código do iframe ele só joga o #exemplo lá para cima da URL.
Estou praticamente o dia inteiro quebrando a cabeça com isso, resolvi pedir ajuda para o willian novamente e ele me passou esse link do seu próprio blog:
http://wbruno.com.br/blog/2011/08/22/usando-lightbox-em-pagina-carregada-ajax/
Ele me mandou uma mensagem assim também:
cara... ai o problema é um pouco mais complicado.
o erro não é o meu script, mas sim o comportamento das requisições ajax.
pois:
-> javascript carregado com ajax não funciona
-> os elementos trazidos com ajax, entraram na arvore muito depois do document.ready
você precisa atrelar o plugin, assim q o ajax terminar o trabalho, entendeu ?
meio dificil explicar, e nem rola eu atualizar o script por aqui...
apenas poste no fórum, assim outros membros podem te ajudar.
Realmente não saco nada de ajax e muito pouco de javascript, tanto é que achei que só alterando o código para tirar a função de pegar o href já resolveria...
Por favor pessoal me ajudem...
Carregando comentários...