[Cascavel-pm] Dúvida "Interpretador JAVASCRIPT"
roan Brasil
roanbrasil em gmail.com
Quinta Janeiro 25 11:30:50 PST 2007
Estava testando o modulo do CPAN Javascript e tal e quando precisei executar
o arquivo deu esse erro
ReferenceError: document is not defined at line 9: (null)
Esse erro é que preciso de alguma forma, acredito eu, executar alguma
simulação de navegador junto cmo o module JavaScript. Me deem um help se
puderem ou quem souber... qq coisa me add roanbrasil em gmail.com para trocar
ideia sobre isso.
ABAIXO CODE PERL: PS -> esse código é só um teste para entender como ele
funciona com o javascript que quero.
Alguem me da um help?
desculpem mesmo
#!/usr/bin/perl
use strict;
use JavaScript;
use LWP::Simple;
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
$ua->agent('Mozilla/5.0');
#my $string = get('
http://www.rumo.com.br/sistema/categorias.asp?IDLoja=1124');
#my $string = $ua->get('http://www.rumo.com.br/sistema/LojaSite.js');
#my $string2 = "try{if(document.domain.indexOf('fastcommerce.com.br')>=0){
document.domain='fastcommerce.com.br';}if(document.domain.indexOf('
rumo.com.br')>=0){document.domain='rumo.com.br';}}catch(e){}";
#my $string3 =$ua->get('
http://www.rumo.com.br/lojas/00001124/htm/JurosParcelas.js');
my $string5 = <<'JSCRIPT';
//Informe abaixo os juros para parcelamento em 1x, 2x, 3x, etc.
var Juros=new Array(0,2.98,2.98,2.98,2.98,2.98,2.98,2.98,2.98,2.98);
function MostraMaxParcela(PrecoProd,MaxParcelas){
var ComSem;
if(PrecoProd==0||MaxParcelas==1||Juros.length==0)return;
if(MaxParcelas==0||MaxParcelas>Juros.length)MaxParcelas=Juros.length;
if(Juros[MaxParcelas-1]>0)ComSem=""; else ComSem="<font
color=#DD0000> sem juros</font>";
document.write("ou <b>"+MaxParcelas+"x</b>"+ComSem+"
de <b>"+FormatPrecoReais(CalculaParcelaJurosCompostos(PrecoProd,MaxParcelas))+"</b>");
}
function MostraParcelas(PrecoProd,MaxParcelas){
var ComSem,EstiloLinha;
if(PrecoProd==0||MaxParcelas==1||Juros.length==0)return;
if(MaxParcelas==0||MaxParcelas>Juros.length)MaxParcelas=Juros.length;
document.write("<br><table cellpadding=3 width=350><tr bgcolor=#DCDCDC><td
colspan=4 height=22 class=TitTabParc align=center><b>Opções de
parcelamento</td></tr><tr bgcolor=#FFFFFF><td class=TitTabParc>Número de
parcelas</td><td align=right
class=TitTabParc>Valor de<br>cada parcela</td><td align=right
class=TitTabParc>Valor total parcelado</td><td align=right
class=TitTabParc>Juros<br>% a.m.</td></tr>");
for(var i=0;i<MaxParcelas;i++){
if(Juros[i]>0)ComSem="com juros"; else ComSem="<font
color=#DD0000>sem juros</font>";
if((i%2)==0)EstiloLinha='EstParcPar'; else EstiloLinha='EstParcImpar';
document.write("<tr class="+EstiloLinha+"><td
class="+EstiloLinha+">"+(i+1)+"x "+ComSem+"</td><td class="+EstiloLinha+"
align=right>"+FormatPrecoReais(CalculaParcelaJurosCompostos(PrecoProd,i+1))+"</td><td
class="+EstiloLinha+"
align=right>"+FormatPrecoReais(CalculaParcelaJurosCompostos(PrecoProd,i+1)*(i+1))+"</td><td
align=right class="+EstiloLinha+" >"+FormatJuros(Juros[i])+"</td></tr>");
}
document.write("</table><br>");
}
function FormatJuros(num){
num=num.toString().replace(/\$|\,/g,'');
if(isNaN(num))num="0";
sign=(num==(num=Math.abs(num)));
num=Math.floor(num*100+0.50000000001);
cents=num%100;
num=Math.floor(num/100).toString();
if(cents<10)cents="0"+cents;
for(var i=0;i<Math.floor((num.length-(1+i))/3);i++)num=num.substring(0,
num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));
if(num==0&¢s==0)return '0%'; else return
((sign)?'':'-')+' '+num+','+cents+'%';
};
JSCRIPT
my $string6 = 'MostraMaxParcela(1429.99,0);';
#print $string5; exit 0;
my $rt = JavaScript::Runtime->new();
my $cx = $rt->create_context();
$cx->bind_function(name => 'write', func => sub { print @_;});
$cx->eval("$string5 $string6 ");
=for
$cx->eval(q/
for (i = 99; i > 0; i--) {
write(i + " bottle(s) of beer on the wall, " + i + " bottle(s) of
beer\n");
write("Take 1 down, pass it around, ");
if (i > 1) {
write((i - 1) + " bottle(s) of beer on the wall.");
}
else {
write("No more bottles of beer on the wall!");
}
}
/);
=cut
__END__
my $string4 = 'function MostraChat() {
popup=window.open("
http://www.rumo.com.br/sistema/ChatLogin.asp?IDLoja=1124&Y=377647088236
","Chat275","top=20,left=20,height=280,width=390,scrollbars=no,resizable=yes");
popup.focus();
return void(0);
}';
Em 24/01/07, roan Brasil <roanbrasil em gmail.com> escreveu:
>
> Valeu Luiz vou testar e lhe dou um feed back... abraços
>
> Em 24/01/07, Luis Motta Campos <luismottacampos em yahoo.co.uk > escreveu:
> >
> > On Jan 24, 2007, at 1:03 PM, roan Brasil wrote:
> > >
> > > Olá galera,
> > >
> > > Eu trabalho com Spider e gostaria de uma dica pode ser?
> > > Bom ao fazer Spider existem algumas coisas que não consigo coletar
> > > pois é em javascript. É uma função que passa o parametro do preco
> > > de um produto e retorna a quantidade máxima de parcelas com juros e
> > > sem juros. Como posso "simular" quando eu chamo a home page o
> > > javascript ou "roda-lo"? Alguém pode me ajudar?
> > > Resumindo é isso... quem puder me ajudar e ainda tiver dúvida me
> > > pergunte pois preciso resolver esse problema e estava conversando
> > > com Joenio e ele sugeriu mandar para a lista para ver se alguém me
> > > ajudaria...
> > >
> >
> > Fácil. "use JavaScript;".
> > Mas instale o módulo primeiro:
> >
> > http://search.cpan.org/~claesjac/JavaScript-1.00/lib/JavaScript.pm
> > <http://search.cpan.org/%7Eclaesjac/JavaScript-1.00/lib/JavaScript.pm>
> >
> > E prometa para mim que você sempre vai respeitar restrições
> > codificadas no robots.txt (http://en.wikipedia.org/wiki/Robots.txt),
> > e que você vai manter o nível ético e moral da sua profissão
> > elevado. ;-)
> >
> > Putamplexos, e boa diversão.
> > --
> > Luis Motta Campos is software engineer,
> > perl fanatic evangelist, and amateur {cook, photographer}
> >
> >
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
>
>
>
> --
> Atenciosamente,
>
> Roan Brasil Monteiro
> Presidente do Rotaract Club Lauro de Freitas D4550
> Gestão 2006/2007
> ________________________________
> *-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*
> Faculdade UNIME
> www.unime.com.br
> BSI - Bacharelado de Sistema de Informação
> Roan Brasil Monteiro
> _____________________
> *-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*
>
> "NA LUTA ENTRE BATMAN E PINGÜIM,
> EU SOU MAIS O PINGÜIM..." by Roan
> ____
> °v° NÃO USE DROGAS,
> /(_)\ USE GNU/LINUX
> ^ ^
> Por que ver o MUNDO através de 'janelas'
> Se você pode usar portas.
>
> "Software Livre:
> Socialmente Justo,
> Economicamente Viável,
> Tecnologicamente Sustentável"
>
--
Atenciosamente,
Roan Brasil Monteiro
Presidente do Rotaract Club Lauro de Freitas D4550
Gestão 2006/2007
________________________________
*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*
Faculdade UNIME
www.unime.com.br
BSI - Bacharelado de Sistema de Informação
Roan Brasil Monteiro
_____________________
*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*
"NA LUTA ENTRE BATMAN E PINGÜIM,
EU SOU MAIS O PINGÜIM..." by Roan
____
°v° NÃO USE DROGAS,
/(_)\ USE GNU/LINUX
^ ^
Por que ver o MUNDO através de 'janelas'
Se você pode usar portas.
"Software Livre:
Socialmente Justo,
Economicamente Viável,
Tecnologicamente Sustentável"
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070125/a5f70d03/attachment-0001.html
Mais detalhes sobre a lista de discussão Cascavel-pm