Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Problema con TChromium (https://www.clubdelphi.com/foros/showthread.php?t=86004)

jhandervel 05-06-2014 01:15:46

Problema con TChromium
 
Hola

Tengo un pequeño gran problema amigos programadores

Resulta que estoy haciendo un navegadorcito con el componente chromium pero necesito que no me abra ciertas páginas, específicamente los anuncios que pone vube de forma intersticial

He probado con este código sin éxito:

Código Delphi [-]
if (Chromium1.Browser.MainFrame.Url='-la url de vube-/*') then
begin
   //ME DETIENE LA NAVEGACION Y PASA A OTRA URL
end
else
begin
   //CONTINUA NORMALMENTE LA NAVEGACION
end;

Hago la salvedad de que donde dice -la url de vube- va la dirección completa desde el http hasta el .com pero al intentar publicar este hilo, la web clubdelphi me dice q no me permite poner enlaces

Al cargarme la dichosa vube.com la pasa de largo, no la reconoce y continua la navegación normal

En debug miro la url actual y me muestra algo como: '-la url de vube-/ujasdfiuhknkdf', esto me hace pensar que es el comodín que estoy usando que es un asterisco

Entonces mi pregunta es: Cómo puedo hacer correctamente uso de ese comodin o de cualquier otro para realizar esa comparación correctamente?, evidentemente quiero bloquear la carga de cualquier subpagina de vube o la vube.com misma

Agradezco encarecidamente cualquier ayuda

Saludos :)

dec 05-06-2014 02:18:30

Hola,

No estás usando Expresiones Regulares, de manera que dudo mucho que el asterisco que sitúas en la comparación tenga nada que ver con el "ujasdfiuhknkdf" que aparece abajo. Me parece un poco raro (suele usarse un "timestamp"), pero, tal vez ese "ujasdfiuhknkdf" sea una forma de "vube" de asegurarse que la URL no se guarda en el caché del navegador. Es decir, se supone que cada vez que se hace una petición a la página en cuestión dicho "ujasdfiuhknkdf" cambiará a "poijasoidoasd", para obligar al navegador a descargar de nuevo el contenido de dicha URL.

No sé ahora mismo decirte más, pero, revisa la comparación, el asterisco, y qué es "ujasdfiuhknkdf" exactamente. Esa comparación, probablemente, no está saliendo como esperas.

jhandervel 05-06-2014 19:36:37

Hola Dec

Gracias por tu respuesta

Lo que dices es correcto, el "ujasdfiuhknkdf" cambia efectivamente a cualquier combinación de letras, por eso pensé que con el asterisco solucionaba el problema

dec 06-06-2014 15:04:18

Hola,

Si la comparación puede servir de algo, es decir, si averiguando la URL en cuestión puedes bloquear la página que quieres, tal vez puedas plantearte usar expresiones regulares. No sé qué versión de Delphi usas, puesto que las últimas incluyen ya varias clases para esto. Cuando no podrás usar algún componente de terceros como el que ofrecen en RegExp Studio. Tal vez otra forma de hacerlo, sin meternos con expresiones regulares, sea comparar sólo una parte de la URL, tratar de extraer el dominio y compararlo, por ejemplo, en lugar de usar toda la URL.

jhandervel 06-06-2014 16:55:26

Cita:

Empezado por dec (Mensaje 477427)
Hola,

Si la comparación puede servir de algo, es decir, si averiguando la URL en cuestión puedes bloquear la página que quieres, tal vez puedas plantearte usar expresiones regulares. No sé qué versión de Delphi usas, puesto que las últimas incluyen ya varias clases para esto. Cuando no podrás usar algún componente de terceros como el que ofrecen. Tal vez otra forma de hacerlo, sin meternos con expresiones regulares, sea comparar sólo una parte de la URL, tratar de extraer el dominio y compararlo, por ejemplo, en lugar de usar toda la URL.

Uso XE5 y no había descubierto lo de las expresiones regulares, voy a meterme por ahi a ver q tal

jhandervel 07-06-2014 01:23:00

A la final logré resolverlo de la siguiente forma:

Código Delphi [-]

var
  url: string;

if pos('Vube', url)<>0 then
begin
  //MANDO AL TCHROMIUM A CARGAR OTRA URL
end
else
begin
  //ME CONTINUA NORMAL LA NAVEGACION
end;

Por si alguien lo llega a necesitar...:cool:


La franja horaria es GMT +2. Ahora son las 10:05:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi