Buenas Tardes
tengo el siguiente tema
desde el programa ingreso a distintas paginas con la siguiente funcion
////////////
Function VerURL(cLink)
Local oActiveX
If IsInternet()
DEFINE DIALOG oDlg RESOURCE "CONSULTA_WEB_3" TITLE "Ver URL"
REDEFINE ACTIVEX oActiveX ID 10 OF oDlg PROGID "Shell.Explorer"
REDEFINE BUTTON ID 110 OF oDlg ACTION oDlg:end()
ACTIVATE DIALOG oDlg CENTERED ON INIT oActiveX:Do( "Navigate2", cLink )
EndIf
Return NIL
/////////////////
ahora bien el tema es que algunos sitios donde navego chequea la version del navegador que se utiliza
si bien tengo instalado el IE11 ( tambien probé con IE9, IE8, Chrome, Safari ) siempre me da el mismo UserAgent
User-Agent = Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)
imagino que el Activex que utiliza el FWH es MSIE 7.0, esto es asi? o de donde toma esta informacion?
es posible cambiar y/o actualizar esto?
desde ya gracias por su atencion
version de IE en oActivex:Do(Navigate)
-
- Posts: 128
- Joined: Tue Jul 15, 2008 7:12 pm
- Location: Argentina
Re: version de IE en oActivex:Do(Navigate)
Teste asi:
Code: Select all
#include "FiveWin.ch"
STATIC oWnd
FUNCTION Main()
LOCAL oActivex, mSearch
mSearch := "SAO PAULO - BRASIL"
DEFINE WINDOW oWnd TITLE "FiveWin ActiveX Support - Via Google Maps"
oActiveX = TActiveX():New( oWnd, "Shell.Explorer" )
oActivex:Silent := .T.
oActivex:SetFocus()
oWnd:oClient = oActiveX // To fill the entire window surface
oActiveX:Navigate( "www.google.com.br/maps/place/ " + ALLTRIM(mSearch) )
ACTIVATE WINDOW oWnd MAXIMIZED
RETURN NIL
João Santos - São Paulo - Brasil
Re: version de IE en oActivex:Do(Navigate)
oActiveX:Navigate( "www.google.com.br/maps/place/ " + ALLTRIM(mSearch) )
João Santos - São Paulo - Brasil
-
- Posts: 128
- Joined: Tue Jul 15, 2008 7:12 pm
- Location: Argentina
Re: version de IE en oActivex:Do(Navigate)
funciona exacto a mi código
si veo el User-Agent siempre devuelve
User-Agent = Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)
cuando en realidad NO se esta usando el MSIE 7.0, sino el MSIE 11.0
probado en distintas PCs, con distintas versiones de Windows ( XP, W7, W10 )
con todos los Navegadores, siempre devuelve MSIE 7.0
yo imagino que es algo interno del FWH
si veo el User-Agent siempre devuelve
User-Agent = Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)
cuando en realidad NO se esta usando el MSIE 7.0, sino el MSIE 11.0
probado en distintas PCs, con distintas versiones de Windows ( XP, W7, W10 )
con todos los Navegadores, siempre devuelve MSIE 7.0
yo imagino que es algo interno del FWH
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: version de IE en oActivex:Do(Navigate)
Se instancia un objeto "Shell.Explorer", eso es todo
Depende de la configuración que tenga en cada versión de Windows supongo
Depende de la configuración que tenga en cada versión de Windows supongo
Re: version de IE en oActivex:Do(Navigate)
Saludos
Perdón que "meta la cuchara".
Debido a que estoy haciendo _ en uso de un visor para los mapas, específicamente estoy cambiando a usar de googlemaps a openlayers, me encontré con problemas relacionados a este tema. Sucede que mientras buscaba solución a mi problema de "error en el script de esta página" y no cargaba la librería openlayers; me encontré con este post que habla de los user-agent, y que dio el camino a la solución.
Buscando sobre esto en google, encontré que efectivamente, cuando se llama a IE desde un activeX, por defecto se carga con IE 7, el cual no soporta muchas características de HTML5 y CSS3. Así que la solución es registrar nuestra aplicación en el registro de Windows. En mi caso se solucionó ingresando en la siguiente clave:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
Aquí se crea un nuevo -> valor de DWORD(32 bits), colocando el nombre de nuestra aplicación.exe
Luego le asignamos el valor decimal 11001
Esto hace que en el activeX else inicie por defecto el IE11, y allí si se cargo correctamente mi visor. y si se revisa el user-agent, ya hace referencia a que está cargado IE11.
Este es el enlace que tiene toda la información.
http://weblog.west-wind.com/posts/2011/ ... Challenged
Gracias
Perdón que "meta la cuchara".
Debido a que estoy haciendo _ en uso de un visor para los mapas, específicamente estoy cambiando a usar de googlemaps a openlayers, me encontré con problemas relacionados a este tema. Sucede que mientras buscaba solución a mi problema de "error en el script de esta página" y no cargaba la librería openlayers; me encontré con este post que habla de los user-agent, y que dio el camino a la solución.
Buscando sobre esto en google, encontré que efectivamente, cuando se llama a IE desde un activeX, por defecto se carga con IE 7, el cual no soporta muchas características de HTML5 y CSS3. Así que la solución es registrar nuestra aplicación en el registro de Windows. En mi caso se solucionó ingresando en la siguiente clave:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
Aquí se crea un nuevo -> valor de DWORD(32 bits), colocando el nombre de nuestra aplicación.exe
Luego le asignamos el valor decimal 11001
Esto hace que en el activeX else inicie por defecto el IE11, y allí si se cargo correctamente mi visor. y si se revisa el user-agent, ya hace referencia a que está cargado IE11.
Este es el enlace que tiene toda la información.
http://weblog.west-wind.com/posts/2011/ ... Challenged
Gracias
Marcelo Jingo
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: version de IE en oActivex:Do(Navigate)
Marcelo,
gracias, muy interesante
gracias, muy interesante