Entwickler-Ecke

Internet / Netzwerk - Mit dem WebBrowser quellcode in eine ListBox kopieren


F.Art - Sa 26.04.03 11:30
Titel: Mit dem WebBrowser quellcode in eine ListBox kopieren

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
function WB_GetHTMLCode(WebBrowser: TWebBrowser; ACode: TStrings): Boolean;
var
  ps: IPersistStreamInit;
  ss: TStringStream;
  sa: IStream;
  s: string;
begin
  ps := WebBrowser.Document as IPersistStreamInit;
  s := '';
  ss := TStringStream.Create(s);
  try
    sa := TStreamAdapter.Create(ss, soReference) as IStream;
    Result := Succeeded(ps.Save(sa, True));
    if Result then ACode.Add(ss.Datastring);
  finally
    ss.Free;
  end;
end;


Folgendes Problem habe ich mit diesem Code.
Bei einer direkten anwahl per http://www.test.de geht es,aber wenn ich das über eine de.vu (http://www.test.de.vu) laufen lasse dann kommt nur


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
<!--//--><script>var PrxLC=new Date(0);var PrxModAtr=0;var PrxInst; if(!PrxInst++) PrxRealOpen=window.open;function PrxOMUp(){PrxLC=new Date();}function PrxNW(){return(this.window);} function PrxOpen(url,nam,atr){ if(PrxLC){  var cdt=new Date();  cdt.setTime(cdt.getTime()-PrxLC.getTime());  if(cdt.getSeconds()<3){    return(PrxRealOpen(url,nam,PrxWOA(atr)));  } } return(new PrxNW());} function PrxWOA(atr){  var xatr="location=yes,status=yes,resizable=yes,toolbar=yes,scrollbars=yes";  if(!PrxModAtr) return(atr);  if(atr){    var hm;    hm=atr.match(/height=[0-9]+/i);    if(hm) xatr+="," + hm;    hm=atr.match(/width=[0-9]+/i);    if(hm) xatr+="," + hm;  }  return(xatr);}window.open=PrxOpen;</script>
<!-- de|nic|vu (www.nic.de.vu)  -->

<HTML>
<HEAD>
<TITLE>www.test.de.vu</TITLE>
<META name="DESCRIPTION" content="">
<LINK rel="SHORTCUT ICON" href="">
<META name="KEYWORDS" content="">
<META name="ROBOTS" content="index,follow">
<META name="LANGUAGE" content="german,deutsch,DE,AT,CH,US">
<META NAME="DISTRIBUTION" CONTENT="global">
</HEAD>
<frameset rows="100%,*" border="0" frameborder="0">
<frame SRC="http://www.test.de" scrolling="auto">
<frame scrolling="no" noresize></frameset>
<noframes><body>
<A HREF="http://www.test.de">www.test.de.vu</A><br><br><A HREF="http://adfarm.mediaplex.com/ad/ck/707-1170-4140-5?RedirectEnter&partner=33730&loc=http://www.ebay.de" TARGET = "_top">P</A>
</body></noframes>
</HTML>
<FC>


Aber im WebBrowser wird die Seite geladen un wenn ich manuell auf Quelltext klicke beim Projekt dann bekomme ich den richtigen Quelltext.

Hat einer eine Lösung?


Moritz M. - Sa 26.04.03 12:20

Ja, die Lösung lautet wie folgt:
Die de.vu-Domains laufen über Frames, da ja noch Werbung eingeblendet werden muss und da der Anbieter nicht auf die Seiten zugreifen kann muss er das per Frames machen. Der Quellcode stimmt schon.


F.Art - Sa 26.04.03 14:16

Wie kann ich das nun Proggen das er den richtigen Quellcode übernimmt so tut ers nicht?


Moritz M. - Sa 26.04.03 14:28

So, das geht jetzt nur für de.vu-Domains:
Ich hoffe mal du kannst etwas HTML:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
<!--//--><script>var PrxLC=new Date(0);var PrxModAtr=0;var PrxInst; if(!PrxInst++) PrxRealOpen=window.open;function PrxOMUp(){PrxLC=new Date();}function PrxNW(){return(this.window);} function PrxOpen(url,nam,atr){ if(PrxLC){  var cdt=new Date();  cdt.setTime(cdt.getTime()-PrxLC.getTime());  if(cdt.getSeconds()<3){    return(PrxRealOpen(url,nam,PrxWOA(atr)));  } } return(new PrxNW());} function PrxWOA(atr){  var xatr="location=yes,status=yes,resizable=yes,toolbar=yes,scrollbars=yes";  if(!PrxModAtr) return(atr);  if(atr){    var hm;    hm=atr.match(/height=[0-9]+/i);    if(hm) xatr+="," + hm;    hm=atr.match(/width=[0-9]+/i);    if(hm) xatr+="," + hm;  }  return(xatr);}window.open=PrxOpen;</script> 
<!-- de|nic|vu (www.nic.de.vu)   --> 

<HTML> 
<HEAD> 
<TITLE>www.test.de.vu</TITLE> 
<META name="DESCRIPTION" content=""> 
<LINK rel="SHORTCUT ICON" href=""> 
<META name="KEYWORDS" content=""> 
<META name="ROBOTS" content="index,follow"> 
<META name="LANGUAGE" content="german,deutsch,DE,AT,CH,US"> 
<META NAME="DISTRIBUTION" CONTENT="global"> 
</HEAD> 
<frameset rows="100%,*" border="0" frameborder="0"> 
[b]<frame SRC="[u]http://www.test.de[/u]" scrolling="auto">[/b]
<frame scrolling="no" noresize></frameset> 
<noframes><body> 
<A HREF="http://www.test.de">www.test.de.vu</A><br><br><A HREF="http://adfarm.mediaplex.com/ad/ck/707-1170-4140-5?RedirectEnter&partner=33730&loc=http://www.ebay.de" TARGET = "_top">P</A> 
</body></noframes> 
</HTML> 
<FC>

Die Stelle im Code zeigt den URL an, auf dem du gerade im Virtuellen Fenster bist. Wenn du den ausliest und den Code davon herunterlädst sollte es gehen.


F.Art - Sa 26.04.03 14:39

ja das stimmt schon aber die url ändert sich ständig und ich möchte nicht immer neu proggen. deswegen möchte ich die grund url nehmen http://www.test.de.vu die dann immer umgeleitet wird.