Clic aqui para descargar
Una vez que se ha descargado hay que instalar el componente cefcomponent.dpk de la carpeta src (No olvidar poner la ruta de la carpeta "src" en Opciones-Library)
Espero que este componente no tenga el memory leak que observé en el TWebBrowser.
Las nuevas funciones que ofrece son:
-Embebe un web browser con html5/css3
-parsing javascript
-html5 drag&drop
-Soporte para geolocalizacion
-Aceleracion por GPU
-Manejo de la configuracion para proxy
-Clases para utilizarlo en linea de comandos, url, xml y zip para lectura / parsing
-Acceso a las cookies
-Menu contextual
-Acceso directo a DOM
-Notificacion e interceptacion de pulsaciones de teclas y foco de la aplicacion
-Manejo de zoom
-Manejo de descargas
-Soporte para webrequest -
-Soporte para multi_threaded_message_loop
-Puede trabajar sin el VCL o como un componente
Ejemplos:
Cargar una URL: (siendo crm: TChromium)
crm.Browser.MainFrame.LoadUrl(edAddress.Text);
Recargar una URL:
if crm.Browser <> nil then
if FLoading then
crm.Browser.StopLoad else
crm.Browser.Reload;
Hacer Zoom:
crm.Browser.ZoomLevel := crm.Browser.ZoomLevel + 0.5;
Obtener el codigo de la pagina:
var
frame: ICefFrame;
source: ustring;
begin
if crm.Browser = nil then Exit;
frame := crm.Browser.MainFrame;
source := frame.Source;
source := StringReplace(source, '<', '<', [rfReplaceAll]);
source := StringReplace(source, '>', '>', [rfReplaceAll]);
source := 'Source:
' + source + '
';
frame.LoadString(source, 'http://tests/getsource');
end;
Ejecutar javascript:
crm.Browser.MainFrame.ExecuteJavaScript(
'alert(''JavaScript execute works!'');', 'about:blank', 0);
Mostrar herramientas del programador:
crm.Browser.ShowDevTools;
Ejecutar DOM:
begin
{$IFDEF DELPHI12_UP}
crm.Browser.MainFrame.VisitDomProc(
procedure (const doc: ICefDomDocument) begin
doc.Body.AddEventListenerProc('mouseover', True,
procedure (const event: ICefDomEvent) begin
caption := getpath(event.Target);
end)
end);
{$ELSE}
crm.Browser.MainFrame.VisitDomProc(domvisitorcallback);
{$ENDIF}
end;
Imprimir una pagina:
crm.Browser.MainFrame.Print;
No hay comentarios:
Publicar un comentario