Ir para conteúdo
Fórum Script Brasil

D'j Diego Silva

Membros
  • Total de itens

    12
  • Registro em

  • Última visita

Tudo que D'j Diego Silva postou

  1. Achei a solução! Aqui vai o código para quem tiver a mesma dúvida: <% //antes vão alguns códigos de randomização var http = new ActiveXObject("Microsoft.XMLHTTP"); //cria o activex de obtenção do arquivo xml http.open("GET", contat, false); //onde contat é o endereço (url) do xml http.SetRequestHeader("Content-type", "text/xml"); //define o cabeçalho http.send(null); //envia request var xmlDocumento = http.responseXML.xml; //resposta do servidor xmlRss = new ActiveXObject("Microsoft.XMLDOM"); //cria o activex de manipulação das nodes xmlRss.async = false; //define que não é para processar o arquivo em segundo plano xmlRss.loadXML(xmlDocumento); //entrega parte do documento xml para o activex processar xmlRaiz = xmlRss.documentElement.getElementsByTagName("item"); //enumera todas as tags "item" arrnot = new Array(); //novo array lin = new Array(); //novo array dos links for(i=0;i<xmlRaiz.length;i++){ p=1; //define qual é o nó filho do item que contém o link arrnot[i]=xmlRaiz.item(i).childNodes.item(0).text; //título da notícia lin[i]=xmlRaiz.item(i).childNodes.item(p).text; //link } randomizadoi=Number(aleatorio(xmlRaiz.length)+""); //randomiza a notícia, pois esse "sistema de notícias" obtém todas as notícias e escolhe uma de cada vez. t=("<a href='"+lin[randomizadoi]+"'>"+arrnot[randomizadoi] + "</a> <span style='color: #888;'>"+fonte+"</span>"); //monta a string que vai aparecer no cliente xmlRss = "" //apaga o rastro do activex Response.Write(t) //envia o conteúdo ao cliente %> O que eu estava esquecendo era de obter o arquivo por um activex e processá-lo por outro, e esqueci também do "documentElement".
  2. Achei um outro activex que funciona: <% var http = new ActiveXObject("Microsoft.XMLHTTP"); http.open("GET", "http://www.estadao.com.br/rss/manchetes.xml", false); http.send(null); var xmlDocument = http.responseText; Response.Write(xmlDocument); %> Como agora faço para manipular as tags? Pois eu quero pegar apenas a tag "item" com esse código: xmlRaiz = xmlDocument.getElementsByTagName("item"); E quando tento essa linha dá esse erro: "Erro em tempo de execução do Microsoft JScript erro '800a01b6' O objeto não dá suporte para a propriedade ou método" Usei o código: var xmlDocument = new ActiveXObject("Microsoft.XMLDOM"); xmlDocument.loadXML(xmlDocumento); Mas não retorna nada. Enfim, que código pode manipular as tags em asp jscript?
  3. Mas meu IIS é 5.1. E você testou o código? É em Site da Web Padrão > propriedades > Aba "Diretório Base" > Botão "configuração" > Aba "depuração" > Sinalizadores de depuração e também em Mensagens de erro de script?
  4. Verdade. Na sintaxe não há erro algum, mas no retorno da variável objXML, parece que o documento xml não tem nada dentro do conteúdo. Parece vazio, pois não retorna nada. Você testou ele? E como que vê se o iis está configurado para mostrar erros?
  5. Mas a linguagem das minhas paginas asp é JScript (pois no topo está <%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>). O var indica variáveis e ; é fim de linha ou de instrução. Eu uso mais a linguagem javascript portanto eu a uso em asp também, já que há essa possibilidade. Como resolvo esse problema?
  6. O meu problema é o seguinte: estou criando um site e na página inicial contém um iframe que acessa uma página em asp com o seguinte código: <% var objXML = Server.CreateObject("Microsoft.XMLDOM"); objXML.async = false; objXML.load("http://www.estadao.com.br/rss/manchetes.xml"); Response.Write(objXML); %> Só que a variavel objXML não retorna nada. Já olhei no código fonte e nada de tags xml. Testei isso no lado cliente (trocando as tags <% e %> por &lt;script> e </script>, respectivamente, e trocando Response.Write por document.write) e funcionou. Mas na hora de executar isso no lado servidor, não retorna nada. Informações: meu IE é 7.0, a versão do IIS é 5.1 (winxp), não usei outro computador para testar (mas creio que vai ser a mesma coisa: não vai retornar nada). O problema é que quando uso esse código no lado cliente, aparece a seguinte mensagem: "Esta página está acessando informações que estão fora de seu controle. Isso é potencialmente arriscado sob o ponto de vista de segurança. Deseja continuar?". Isso só aparece quando digito o endereço do no-ip (pois estou usando no-ip), quando digito localhost, não pede nada e aparece. Qual a solução para isso? Há algum erro com o código ou há erro com as configurações?
  7. Resolvi. Coloquei o selectbox na própria página do simulador e coloquei o simulador em um arquivo zip.
  8. É o seguinte. Assim está o meu diretório do apache: index1.htm pt-br ├─index2.htm └─GravitySim └ index3.htm a página index1.htm contém o seguinte: <div style="" id="navigation"> <iframe width="100%" height="90%" border="0" frameborder="0" src="pt-br/index2.htm"> Your navigator does not support frames. Enable frames and try again.</iframe></div> Choose a language: <select onchange="translatetextto(this.value)"> <option value="es">espanãool</option> <option value="en">english</option> <option value="pt" selected>português</option> </select> < script> if(navigator.appName != "Microsoft Internet Explorer"){ alert("This site not appears in Firefox/Opera navigators. Try it in Microsoft Internet Explorer") } function adjusta(){ navigation.style.height=document.body.clientHeight-35 } //adjusta() //window.onresize=adjusta; function translatetextto(lang){ document.frames[0].traduz(lang) document.title=document.frames[0].document.title; } </script> <noscript>Sorry, your browser does not support Javascript.</noscript> O index2 contém links para meus projetos em javascript. Mas, quando clico no link que acessa a página index3, o navegador trava e eu sou obrigado a fechar a página pelo Gerenciador de Tarefas do Windows. Aí está a página index3, que é um simulador de gravidade: <div style="border:1px solid #00F000; position:absolute;LEFT: 76;WIDTH:143;HEIGHT:19;top:193; background-color:#008800" style="ob">&nbsp;</div> <div id="ground" style="border-top:1px solid #008000; position:absolute; left:0; top:expression(document.body.clientHeight-2); width:expression(document.body.clientWidth); height:2; font-size:1px">&nbsp;</div> <div id="square" onmousedown="selectDrag()" x=190 y=5 style="border:1px solid #0000FF; position:absolute; left:190; top:5; cursor:pointer; width:150; height:42; background-color:#FFFFFF"> <span id="langu0" en="Drag this rect and leave this in up." es="Arrastra este rectángulo, y colóquelo en lo topo." pt="Arraste esse retângulo e solte ele em cima.">Drag this rect and leave this in up.</span></div> &lt;script> var g=0.98 //gravity value. Gravity of earth:9,8 var f=0.9 //friction var s=0.5 //not change: speed var objMov=0 var isDrag=false ty=0; tx=0; ix=0; iy=0 function selectDrag(){ objMov=square.id; iy=event.clientY ix=event.clientX ty=parseInt(document.all[objMov].style.top+0) tx= parseInt(document.all[objMov].style.left+0) isDrag=true; } function unselectDrag(){ isDrag=false; } function moveDrag(){ if(isDrag==true){ document.all[objMov].style.top=ty+event.clientY-iy; document.all[objMov].style.left=tx+event.clientX-ix; square.y = parseInt(square.style.top+0) s=2 return false; } } document.onmousemove=moveDrag; document.onmouseup=unselectDrag; function attractObjects(){ if(isDrag == false){ if(parseInt(square.style.top+0) >= parseInt(ground.style.top+0)-42){ square.style.top=parseInt(ground.style.top+0)-42 } else if(parseInt(square.style.left+0) > -71 && parseInt(square.style.left+0) < 218 && parseInt(square.style.top+0) >= 151 && parseInt(square.style.top+0) < 170){ square.style.top=151 } else { square.y = new Number(square.y + s); s = new Number((s * f) + g); square.style.top=square.y } } setTimeout("attractObjects()",1) } attractObjects() var contadors=1 function traduz(l){ for(i=0;i<contadors;i++){ newtrans=eval('document.all["langu"+i].'+l+'') document.all["langu"+i].innerHTML=newtrans; } } </script> Por que está travando o navegador? O engraçado é que os outros links não travam o navegador.
  9. Eu tenho uma div: <div style="background-image:url('bck.gif')">Conteúdo</div> E queria saber se tem como esticar a imagem de fundo a modo que fique sempre com a mesma altura da div, não repetindo, apenas esticando. Tem como?
  10. Mas o site é endereço local (file://[....].htm) e mesmo assim não permite. Você conhece algum outro método para exibir a janela de explorar pastas?
  11. Olá pessoal, Eu estou criando um visualizador de imagens que permite visualizar todas as imagens de um determinado diretório que pode ser escolhido pelo usuário. Até agora, tudo certo: barra de título (pois nas minhas páginas HTML eu coloco uma aparência de "desktop", ou seja, minhas páginas se parecem mais com um aplicativo do que com uma simples pagina .htm), barra de menus (eu mesmo criei pois alguns meses atrás criei um outro projeto que precisava de menubar em JavaScript + HTML e não achei na internet, os que eu achava era pago, então, resolvi criar o meu próprio e de graça). Um dos mecanismos é de abrir a imagem. Para isso, eu achei um método: <input type="file" id="browse" onchange="handleFileSelected(this)" style="display:none;position:absolute;top:-999;left:-999"> <button onClick="browse.click()">Escolher arquivo</button> Mas nesse "aplicativo" em HTM, tem também a opção de visualizar imagens de dentro de diretórios no computador da pessoa (tudo em client-side), ou seja, a pessoa seleciona uma pasta e então o "aplicativo" exibe todas elas, uma por uma, avançando ou retrocedendo através de duas setas (ir e voltar) embaixo da imagem atual. Só que não achei um mecanismo que exibe uma janela parecida com essa daí que abre quando clicamos em Procurar no "input file", mas que exiba e permita selecionar apenas pastas, mas não encontrei nada. Alguém aqui sabe se há algum ActiveX e/ou algum função que exiba uma janela que permita selecionar apenas pastas? Achei um script na internet: var objShell = new ActiveXObject("Shell.Application"); objFolder = objShell.BrowseForFolder(0, "Example", 0) Mas não está funcionando. Ele indica "Permissão negada". Alguém sabe de alguma solução?
  12. Olá pessoal, Sou um pouco avançado em javascript, mas tenho uma dúvida: eu estou fazendo uma página em javascript parecida com um desktop. Contém a janela (uma div) com o titulo, menubar (o que estou com duvida), corpo da mensagem e statusbar (ambos são sub-divs), e o "programa" tem um menu horizontal, tipo aquele de "Arquivo Editar Exibir...." que quase todos os programas executaveis tem. Só que eu ainda não sei como obter as propiedades e sub-objetos. Minha dúvida melhor detalhada: Eu tenho o seguinte objeto árvore: tree={ Arquivo:{ Novo: { Modelo: "newmodel" }, Abrir: "open", Salvar: "save", Imprimir: "print" }, Editar:{ Desfazer: "undo", Refazer: "redo", Recortar: "cut", Copiar: "copy", Colar: "paste", Selecionar_Tudo: "selectall", Localizar: "searchtext" }, Exibir:{ Formatacao: "toggleFormat", Textos_recentes: "toggleRecentText" }, Opcoes: "option", Ajuda:{ Topicos: { Edicao: "helptopicedition", Ferramentas_avancadas: "helphardtools", Mudanca_de_texto_padrao: "helpdefaulttextchange" }, Sobre_o_programa_em_java script: "about" } } [/codebox] O objeto padrão (tree) contém os sub-objetos: arquivo, editar, exibir, opcoes e ajuda. Cada um tem um sub-objeto e/ou opcões, como por exemplo: [codebox] exibir:{ //sub-objeto, ou um sub-menu formatacao: "toggleformat" //texto do menu sem sub-menus e o codigo } Eu preciso saber como eu enumero tipo assim: Arquivo: |..Novo: |..|..Modelo=comando newmodel Abrir=comando open Salvar=comando save [/codebox] tem como fazer isso? Pessoal, resolvi o problema. Coloquei um leitor daqueles assim: [codebox] for(prop in obj){ //funcao para adicionar as propriedades em uma div }
×
×
  • Criar Novo...