Delphi Tchromium

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by triblekill, 1 Sep 2016.

  1. triblekill

    triblekill Member

    Joined:
    21 Aug 2011
    Messages:
    351
    Likes Received:
    94
    Reputations:
    1
    Code:
    var
    JsCode:string;
    procedure TForm1.Button1Click(Sender: TObject);
    JSCode := ('alert(document.getElementsByClassName("Здесь могла быть ваша реклама"))');
    Chromium1.Browser.GetMainFrame.ExecuteJavaScript(JSCode,'',0);
    
    При попытке запустить такой JavaScript в delphi происходит сообщение [Object NodeList], а если перейти на сайт и выполнить такой скрипт напрямую из него на сайте то сообщение [Object HTMLCollection] подозреваю что при нажатии на кнопку chromium перестаёт быть активным и передаёт JavaScript в ... ?
     
  2. RedPro

    RedPro Banned

    Joined:
    30 Jul 2013
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Не знаю с компонентом Chromium1 честно не сталкивался, но я так понял тебе надо рекламу всунуть в свой софт, а точнее баннер? Я опубликую свой рабочий код использую gif баннер, отображаю его через Image1

    Code:
    const
      const_url_image='УРЛ НА ПОДГРУЗКУ БАННЕРА';
      const_url_image='УРЛ КУДА РЕДИРЕКТИТЬ ПРИ НАЖАТИИ НА БАННЕР';
    
    
    var
    url_click_image: string;
    
    
    procedure TForm1.GetUrlImage(url: string);
    var
      MS : TMemoryStream;
      GIf: TGIFImage;
    begin
      MS := TMemoryStream.Create;
      GIf := TGIFImage.Create;
      try
        Form1.IdHTTP1.get(url,MS);
        Ms.Seek(0,soFromBeginning);
        Gif.LoadFromStream(MS);
        GIf.Animate := True;
        Image1.Picture.Assign(GIF);
      finally
        FreeAndNil(GIF);
        FreeAndNil(MS);
      end;
    end;
    
    procedure TForm1.Image1Click(Sender: TObject);
    begin
    if url_click_image <> '' then
    ShellExecute(0, 'Open', PChar(url_click_image), nil, nil, SW_SHOWNORMAL);
    end;
    
    
    procedure TForm1.FormCreate(Sender: TObject);
    var
    url_image: string;
    begin
    url_image := Form1.IdHTTP1.Get(const_url_image + '?url=image');
    url_click_image := Form1.IdHTTP1.Get(const_url_image + '?url=click');
    GetUrlImage(url_image);
    end;