Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.08.2012, 01:03   #1
ttbot
Новичок
Джуниор
 
Регистрация: 05.04.2011
Сообщений: 0
По умолчанию подмена контента в twebbrowser

привет всем!
возникла потребность в следующем :
есть некая html страничка в интернете с обильными вкраплениями javascript. мне нужно сделать так чтобы при загрузки в браузер стиралась одна строчка на javascript (не html тег а строка на javascript именно) или заменялась пробелом на этой страничке, весь остальной хтмл должен быть в первоначальном виде.
как это реальзовать не знаю, вернее знаю что можно при помощи прокси сервера как то, и знаю что можно при помощи twebbrowser,
как и то,а реализовать на бумаге не знаю как. с чего начать куда копать и как лучше.
twebbrowser должен загрузить документ из интернета, другая функция стереть не нужную строчку (если она найдена), и отдать twebbrowser'у обратно уже подкоректированую страничку для загрузки и показу пользователю.
кто сталкивался подскажите пожалуйста, здесь на форуме поискал, подходящего не нашел, если такая задача здесь описана ранее - дайте ссылочку пожалуйста.
ttbot вне форума Ответить с цитированием
Старый 28.08.2012, 12:36   #2
N0iD
Пользователь
 
Аватар для N0iD
 
Регистрация: 05.05.2010
Сообщений: 50
По умолчанию

Доброго времени суток.

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ActiveX, StdCtrls, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdHTTP, OleCtrls, SHDocVw, IdCookieManager;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    Button1: TButton;
    IdCookieManager1: TIdCookieManager;
    IdHTTP1: TIdHTTP;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
//Процедура вставки текста в WebBrowser
procedure WB_LoadHTML(WebBrowser: TWebBrowser; HTMLCode: string);
var
  sl: TStringList;
  ms: TMemoryStream;
begin
  WebBrowser.Navigate('about:blank');
  while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do
    Application.ProcessMessages;

  if Assigned(WebBrowser.Document) then
  begin
    sl := TStringList.Create;
    try
      ms := TMemoryStream.Create;
      try
        sl.Text := HTMLCode;
        sl.SaveToStream(ms);
        ms.Seek(0, 0);
        (WebBrowser.Document as
          IPersistStreamInit).Load(TStreamAdapter.Create(ms));
      finally
        ms.Free;
      end;
    finally
      sl.Free;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Slist:String;
  idtag,idtag1,idtag2:Integer;
  Http:TIdHTTP;
  cm:TIdCookieManager;
begin
  cm:= TIdCookieManager.Create(Self);
  Http := TIdHTTP.Create(Self);
  Http. HandleRedirects:=True;
  Http.CookieManager:=cm;
  Http.AllowCookies:=True;

  Http.Get('http://rambler.ru/'); // 302 редирект
  Slist:=Http.Get(Http.Response.Location); // получаем текст по ссылке с редиректа 
  delete(Slist,pos('<title>',Slist),pos('</title>',Slist)-pos('<title>',Slist)+1);
//Удаляем то тчо в нутри тегов\ как то тут правда странно удаляет , курить надо. //</title> почемуто остется

//Загружаем отредактированный текст в вебраузер.
  WB_LoadHTML(WebBrowser1, Slist);
end;

Наверное как то так.
N0iD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ajax. Подгрузка контента Избранный JavaScript, Ajax 0 04.01.2012 13:40
слайдер контента CodeNOT JavaScript, Ajax 1 04.10.2011 01:23
Смена контента на форме Fastex Компоненты Delphi 1 02.12.2010 15:17
Incompatible types: 'Unit1.TWebBrowser' and 'SHDocVw.TWebBrowser' simon15x Общие вопросы Delphi 0 10.04.2010 03:11
Менеджер контента Insainer HTML и CSS 1 27.04.2008 11:06