xploit Posted June 13, 2009 at 05:34 PM Report #271977 Posted June 13, 2009 at 05:34 PM Boas tenho um javascript que funciona no firefox, opera, safari, google chrome, só que no querido IE já não experimentei no IE 7 e IE 8 e não funciona.. Aqui vai o código: script.js <script type="text/javascript"> $(document).ready(function(){ $(".Box_Server").each( function(intIndex){ var board=$(this.childNodes[3]); var title=$(this.childNodes[1]); var input=$(this.childNodes[7]); var preview=$(this.childNodes[5]); var browse_file=$(this.childNodes[5]); var delet=$(this.childNodes[5]); if($(this).attr('type')=="pic"){ $(title).html("Image"); if(!input.val()==""){ var img; img=input.val().replace("/userfiles/","/userfiles/_thumbs/"); board.html('<img src="'+img+'">'); board.attr('title',input.val()); } } if($(this).attr('type')=="flash"){ title.html("Flash"); if(!input.val()==""){ var flash; flash=input.val(); board.html('<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="100" HEIGHT="100" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=8,0,0,0"><PARAM NAME="MOVIE" VALUE="'+flash+'"><PARAM NAME="WMODE" VALUE="transparent"><PARAM NAME="QUALITY" VALUE="high"><EMBED SRC="'+flash+'" WIDTH="100" HEIGHT="100" WMODE="transparent" QUALITY="high" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED></OBJECT>'); board.attr('title',input.val()); }else{ board.html('<div id="flash_icon_big" ></div>'); } } if($(this).attr('type')=="video"){ title.html("Video"); if(!input.val()==""){ var video; video=input.val(); board.html(video); board.attr('title',input.val()); }else{ board.html('<div id="galvid_icon_big" ></div>'); } } }); }); $.fn.image = function(src, f){ return this.each(function(){ var i = new Image(); i.src = src; i.onload = f; this.appendChild(i); }); } // FUNCOES PARA AS BOX NEW // function Box_preview(o){ var type=o.parentNode.parentNode; var inp=o.parentNode.parentNode.childNodes[7]; var url; var W; var H; if($(type).attr('type')=="pic"){ url=inp.value.replace("/userfiles/_thumbs/","/userfiles/"); $('#Preview-Box').image(url,function(){ W=$(this).width(); H=$(this).height(); $.blockUI({ message: $('#Preview-Box'),css: { width:W+"px",top: ($(window).height() - H) /2+"px", left:($(window).width()-W)/2+"px",height:H+"px",background:'transparent'} }); $(".blockOverlay").attr("title","Clique aqui para fechar").click(function(){$.unblockUI();$('#Preview-Box').empty();}); }); } if($(type).attr('type')=="flash"){ url=inp.value; $('#Preview-Box').html('<OBJECT id="FLASHPLUGIN" CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=8,0,0,0"><PARAM NAME="MOVIE" VALUE="'+url+'"><PARAM NAME="WMODE" VALUE="transparent"><PARAM NAME="QUALITY" VALUE="high"><EMBED SRC="'+url+'" WMODE="transparent" QUALITY="high" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED></OBJECT>'); W=$('#FLASHPLUGIN').width(); H=$('#FLASHPLUGIN').height(); $.blockUI({ message: $('#Preview-Box'),css: { width:W+"px",top: ($(window).height() - H) /2+"px", left:($(window).width()-W)/2+"px",height:H+"px",background:'transparent'} }); $(".blockOverlay").attr("title","Clique aqui para fechar").click(function(){$.unblockUI();$('#Preview-Box').empty();}); } if($(type).attr('type')=="video"){ url=inp.value; $('#Preview-Box').html('é um video...'); W=$('#Preview-Box').width(); H=$('#Preview-Box').height(); $.blockUI({ message: $('#Preview-Box'),css: { width:W+"px",top: ($(window).height() - H) /2+"px", left:($(window).width()-W)/2+"px",height:H+"px" } }); $(".blockOverlay").attr("title","Clique aqui para fechar").click($.unblockUI); } } function Box_del(o){alert("eliminar");} function Box_browser(o){alert("Procurar no servidor");} function start(){alert($('#Preview-Box').width());} </script> html.html <div id="Preview-Box" style="display:none;"></div> <div class="Box_Server" type="pic" align="center"> <div id="title"></div> <div id="board"></div> <div id="actions"> <div class="iconPreview" title="Pré-visualizar" onClick="Box_preview(this);"></div> <div class="iconPickfile" title="Procurar no Servidor" onClick="Box_browser(this);"></div> <div id="del" class="iconDelete" title="Eliminar" onClick="Box_del(this);"></div> </div> <input type="hidden" name="pic" value="http://localhost/userfiles/ficheiros_do_servidor/9999.jpg"> </div> <div class="Box_Server" type="flash" align="center"> <div id="title"></div> <div id="board"></div> <div id="actions"> <div class="iconPreview" title="Pré-visualizar" onClick="Box_preview(this);"></div> <div class="iconPickfile" title="Procurar no Servidor" onClick="Box_browser(this);"></div> <div id="del" class="iconDelete" title="Eliminar" onClick="Box_del(this);"></div> </div> <input type="hidden" name="flash" value="http://localhost/userfiles/ficheiros_do_servidor/snail.swf"> </div> <div class="Box_Server" type="video" align="center"> <div id="title"></div> <div id="board"></div> <div id="actions"> <div class="iconPreview" title="Pré-visualizar" onClick="Box_preview(this);"></div> <div class="iconPickfile" title="Procurar no Servidor" onClick="Box_browser(this);"></div> <div id="del" class="iconDelete" title="Eliminar" onClick="Box_del(this);"></div> </div> <input type="hidden" name="video" value=""> </div> O erro que me aparece no IE8 é o seguinte: Detalhes do erro da página Web Agente do Utilizador: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727) Carimbo de data/hora: Sat, 13 Jun 2009 17:40:06 UTC Mensagem: '_QuickUploadExtension' não está definido Linha: 623 Caráct: 1 Código: 0 URL: http://localhost/fckeditor/fckconfig.js Mensagem: 'this.childNodes.5.childNodes' é nulo ou não é um objecto Linha: 85 Caráct: 3 Código: 0 URL: http://localhost/noticias.php
M6 Posted June 13, 2009 at 09:04 PM Report #272029 Posted June 13, 2009 at 09:04 PM O _QuickUploadExtension não estar definido parece-me claro, por alguma razão essa função não é carregada para o browser (é uma função interna especifica dos outros browsers?) Quanto ao this.childNodes.5.childNodes, o mais provavel é uma das referências estar errada, provavelmente logo a primeira (o this). 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
xploit Posted June 14, 2009 at 01:33 AM Author Report #272096 Posted June 14, 2009 at 01:33 AM Já resolvi os dois problemas, o problema do childNodes e do _QuickExtension.. e ainda assim não continua a funcionar no IE8, o relatorio de erro agora é: Detalhes do erro da página WebAgente do Utilizador: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727) Carimbo de data/hora: Sun, 14 Jun 2009 02:35:11 UTC Mensagem: Ocorreu uma chamada inesperada para acesso às propriedades ou método. Linha: 12 Caráct: 2305 Código: 0 URL: http://localhost/admin/scripts/jQuery.js Não percebo este erro.. o jQuery.js é o original, não alterei nada e o path está correcto...
M6 Posted June 14, 2009 at 06:37 PM Report #272207 Posted June 14, 2009 at 06:37 PM Vê o que está na linha 12, pois parece-me que está a ser invocado um método ou propriedade que não existe. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
xploit Posted June 15, 2009 at 05:26 AM Author Report #272293 Posted June 15, 2009 at 05:26 AM já resolvi pensei que não fosse possível mas afinal, os childNodes no firefox sao uns, e no IE sao outros era por causa disso. ja esta resolvido : )
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now