Jump to content


Photo

greasemonkey - script para capturar iframe

greasemoney javascript text() val()

  • Faça o login para participar
1 reply to this topic

#1 Kumaiti

Kumaiti

    Normal

  • Usuários
  • 77 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 07/12/2015, 06:24

Vamos lá:

 

estou tentando criar um script para ser usado no greasemonkey para capturar uma parte dos dados de uma página e exibi-los com uma formatação diferente.

 

O problema é que essa parte da página é um iframe.

 

O iframe é carregado da seguinte forma:

 <div>
                    <iframe width="100%" frameborder="0" id="Iframe2458863" onload="window.setTimeout( function (){ if (typeof Core === 'object' && typeof Core.Agent === 'object' && typeof Core.Agent.TicketZoom === 'object') { Core.Agent.TicketZoom.IframeAutoHeight($('#Iframe2458863')); } }, 500);" src="URL?Action=AgentTicketAttachment;Subaction=HTMLView;ArticleID=2458863;FileID=1"></iframe>
                </div>

O iframe contém um pequeno texto que é exibido como uma mensagem. (nao posso reproduzi-lo aqui, infelizmente)

 

O que eu não consigo fazer é capturar o CONTEÚDO do iframe após ele ser renderizado na página.

 

Estou utilizando o seguinte código para capturar o iframe:

var masterstring = document.body.innerHTML;
var textstart = masterstring.indexOf('<iframe');
var textend = masterstring.indexOf('</iframe>');
masterstring = masterstring.slice(textstart,textend);
(admito que é um código "porco"...)
 
Ele retorna, no entanto, o código HTML que gera o iframe e não o conteúdo do iframe em si.
 
 
Como fazer isso? Eu preciso do texto que o iframe carrega.
 
A página-mãe e o iframe estã no mesmo domínio.
 

ps. eu nao tenho acesso ao código original da página.

ps2. o ID do frame é gerado dinamicamente.


Edição feita por: Kumaiti, 07/12/2015, 06:35.


#2 Kumaiti

Kumaiti

    Normal

  • Usuários
  • 77 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 10/12/2015, 10:11

Eventualmente "funcionou":

 frame = document.getElementById(msgID);
 frametext = frame.contentWindow.document.body.innerHTML;


Edição feita por: Kumaiti, 10/12/2015, 10:11.






Veja alguns posts relacionados com: greasemoney, javascript, text(), val()

1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq