:: MVP ::
|
|
:: RSS ::
|
|
|
Как реализовать поиск на странице?
uses
{...,} ceflib;
procedure TForm1.Button1Click(Sender: TObject);
var
SearchId: Integer;
SearchText: ustring;
begin
SearchId := 0;
SearchText := 'some text';
Chromium1.Browser.Host.Find(SearchId, SearchText, True, False, False);
end;
|
Как скрыть контекстное меню?
procedure TForm1.Chromium1BeforeContextMenu(Sender: TObject;
const browser: ICefBrowser; const frame: ICefFrame;
const params: ICefContextMenuParams; const model: ICefMenuModel);
begin
model.Clear;
end;
|
Как включить поддержку Flash?
uses
{...,} ceflib;
procedure OnBeforeCommandLineProcessing(const processType: ustring;
const commandLine: ICefCommandLine);
begin
commandLine.AppendSwitch('enable-system-flash');
end;
initialization
CefOnBeforeCommandLineProcessing := OnBeforeCommandLineProcessing;
// Если не нужно использовать системный плагин, можно написать следующее:
// commandLine.AppendSwitchWithValue('ppapi-flash-path', 'путь к плагину pepflashplayer.dll');
// commandLine.AppendSwitchWithValue('ppapi-flash-version', 'его версия');
|
Как нажать кнопку в TChromium?
procedure TForm1.FormCreate(Sender: TObject);
const
Content = '<html>' +
' <body>' +
' <input type="button" value="button" id="btn" onclick="alert('123')">' +
' </body>' +
'</html>';
var
CodeStr: string;
begin
Chromium1.Browser.MainFrame.LoadString(Content, 'http://none.ru');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
CodeStr: string;
begin
if Assigned(Chromium1.Browser) and Assigned(Chromium1.Browser.Mainframe) then
begin
CodeStr := 'document.getElementById("btn").click();';
Chromium1.Browser.MainFrame.ExecuteJavaScript(CodeStr, 'about:blank', 0);
end;
end;
|
Как запретить показ рекламы при загрузке сайта?
uses
{...,} StrUtils;
procedure TForm1.Chromium1BeforeResourceLoad(Sender: TObject;
const browser: ICefBrowser; const frame: ICefFrame;
const request: ICefRequest; const callback: ICefRequestCallback;
out Result: TCefReturnValue);
begin
Result := RV_CONTINUE;
if (PosEx('advmaker', request.Url) > 0) or
(PosEx('directadvert', request.Url) > 0) or
(PosEx('pagead2.googlesyndication.com', request.Url) > 0) then
Result := RV_CANCEL;
end;
|
Как скрыть/показать элемент на странице?
procedure TForm1.FormCreate(Sender: TObject);
const
Content = '<html>' +
' <body>' +
' <input type="button" value="button" id="btn" onclick="alert('123')">' +
' </body>' +
'</html>';
var
CodeStr: string;
begin
Chromium1.Browser.MainFrame.LoadString(Content, 'http://none.ru');
end;
// Скрыть элемент
procedure TForm1.Button1Click(Sender: TObject);
var
CodeStr: string;
begin
if Assigned(Chromium1.Browser) and Assigned(Chromium1.Browser.Mainframe) then
begin
CodeStr := 'var b = document.getElementById("btn"); if (b) {b.style.display="none";}';
Chromium1.Browser.MainFrame.ExecuteJavaScript(CodeStr, 'about:blank', 0);
end;
end;
// Показать элемент
procedure TForm1.Button6Click(Sender: TObject);
var
CodeStr: string;
begin
if Assigned(Chromium1.Browser) and Assigned(Chromium1.Browser.Mainframe) then
begin
CodeStr := 'var b = document.getElementById("btn"); if (b) {b.style.display="";}';
Chromium1.Browser.MainFrame.ExecuteJavaScript(CodeStr, 'about:blank', 0);
end;
end;
|
Как удалить элемент со страницы?
procedure TForm1.FormCreate(Sender: TObject);
const
Content = '<html>' +
' <body>' +
' <input type="button" value="button" id="btn" onclick="alert('123')">' +
' </body>' +
'</html>';
var
CodeStr: string;
begin
Chromium1.Browser.MainFrame.LoadString(Content, 'http://none.ru');
end;
// Удалить элемент
procedure TForm1.Button1Click(Sender: TObject);
var
CodeStr: string;
begin
if Assigned(Chromium1.Browser) and Assigned(Chromium1.Browser.Mainframe) then
begin
CodeStr := 'document.getElementById("btn").parentNode.removeChild(document.getElementById("btn"));';
Chromium1.Browser.MainFrame.ExecuteJavaScript(CodeStr, 'about:blank', 0);
end;
end;
|
Как изменить масштаб страницы?
// Уменьшить масштаб
procedure TForm1.SB_ZoomOutClick(Sender: TObject);
begin
Chromium1.Browser.Host.ZoomLevel := Chromium1.Browser.Host.ZoomLevel - 0.5;
end;
// Восстановить масштаб "по умолчанию"
procedure TForm1.SB_ZoomDefaultClick(Sender: TObject);
begin
Chromium1.Browser.Host.ZoomLevel := 0;
end;
// Увеличить масштаб
procedure TForm1.SB_ZoomInClick(Sender: TObject);
begin
Chromium1.Browser.Host.ZoomLevel := Chromium1.Browser.Host.ZoomLevel + 0.5;
end;
|
Как обновить страницу?
type
TMainForm = class(TForm)
{...}
private
FLoading: Boolean;
end;
implementation
procedure TForm1.Chromium1LoadStart(Sender: TObject; const browser: ICefBrowser;
const frame: ICefFrame);
begin
FLoading := True;
end;
procedure TForm1.Chromium1LoadEnd(Sender: TObject; const browser: ICefBrowser;
const frame: ICefFrame; httpStatusCode: Integer);
begin
FLoading := False;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Chromium1.Browser <> nil then
begin
if FLoading then
Chromium1.Browser.StopLoad;
Chromium1.Browser.Reload;
end;
end;
|
Как показать текст страницы без тегов?
uses
{...,} ceflib;
procedure TForm1.Button1Click(Sender: TObject);
begin
Chromium1.Browser.MainFrame.GetTextProc(procedure (const src: ustring)
var
source: ustring;
begin
source := src;
source := StringReplace(source, '<', '<', [rfReplaceAll]);
source := StringReplace(source, '>', '>', [rfReplaceAll]);
source := '<html><body>Text:<pre>' + source + '</pre></body></html>';
Form1.Chromium1.Browser.MainFrame.LoadString(source, 'source://html');
end);
end;
|
При использовании материала - ссылка на сайт обязательна
|
|