Ich bin gerade dabei mir einen Werbeblocker zu schreiben.
Die Werbung wird per JavaScript ausgeführt:
Code:
<script language="javascript" src="http://werbeserver..."></script>
Dieser Code soll nicht ausgeführt werden. Wie kann ich das erreichen?
Den Code, um den anderen Code zu blockieren habe ich schon geschrieben:
Code:
procedure TForm1.PageRewriter(v: Variant);
var i: Integer;
v2: Variant;
const werb:String='http://werbeserver';
begin
v2:=v.document.getElementsByTagName('script');
for i:= 0 to v2.length -1 do
begin
if Copy(v2.item(i).src,1,Length(werb))=werb then
v2.item(i).src:='';
end;
end;
Aber ich brauche die richtige Stelle wo er ausgeführt werden muss!
Wird er zu früh ausgeführt, dann ist die
HTML Seite selbst noch nicht geladen, und das Script kann nichts verändern, wird er zu spät ausgeführt, hat sich das Script bereits ausgeführt und per document.write seine Werbung platziert.
Ach ja ich brauche nicht nur die richtige Stelle, sondern auch das OleObject (Variant) der betroffenen Seite (die gerade geladen hat).
Es sind mehrere Seiten, die laden, da alles in Frames stattfindet.
Computers are like air conditioners, they stop working immediately, if you open windows.