2011-01-10 14 views
7

Debido a la recientemente añadido "característica" en IE8 donde las ventanas nuevas se asocian automáticamente con un single session, algunos de nuestro código funciona de manera errática.de inicio de Internet Explorer 8 en un proceso separado usando VBScript

Esto se debe a que una aplicación separada lanzaría una nueva ventana IE cuando se activó, y una vez que el usuario finalizó, cierra la ventana. Esto funcionó bien en IE7 porque la información de sesión en las ventanas se mantuvo separada. Sin embargo, en IE8, dado que la sesión se comparte entre las ventanas de IE, encontramos que la aplicación "emergente" podría dañar la sesión en la primera aplicación.

He leído sobre el cambio de nomerge, por lo que es una solución alternativa, pero me preguntaba si había una forma de trabajar la solución en el "CreateObject" de vbscript; es decir:

Dim ieWin As Object 
Set ieWin = CreateObject("InternetExplorer.Application") 

¿Existe una forma de enviar parámetros al llamar a la función CreateObject?

+1

http://blogs.msdn.com/b/ieinternals/ archive/2010/04/05/understanding-browser-session-lifetime.aspx proporciona algún contexto. ¿No especificó qué está mal con simplemente usar la opción de línea de comando? – EricLaw

+0

Lo que está mal con la opción de línea de comando es que no tenemos control sobre la aplicación de terceros que inicia nuestra ventana de IE. Solo podemos modificar el vbscript que usa –

Respuesta

0

La solución con la que terminamos, aunque es más un trabajo que otra cosa, fue asignar una nueva url a la ventana emergente.

Anteriormente, trabajó como sigue: los agentes del centro

llamada estarían utilizando nuestra aplicación interna para otras tareas, por ejemplo "http: // internalsite /somepage.faces" en el día a día. Cuando recibieron una llamada telefónica, una aplicación de terceros se activaría "http: // internalsite /customerdetails.faces". Esto causó los problemas mencionados anteriormente.

La solución fuimos con:

Asignamos "http: // internalsite /customerdetails.faces" su propia url por ejemplo, "http: // customerdetailminisite /customer.faces" .

De esta manera el agente de call center podría mantener su ventana principal abierta para otras cosas y aún así ser capaz de manejar las llamadas cuando entraron.

4

No, no hay forma de utilizar COM para crear una instancia de IE que especifique este comportamiento (o cualquiera de los demás, por ejemplo, InPrivate, Sin complementos, etc.). El único que puede hacer es crear una instancia de automatización que adopte el valor predeterminado de MediumIL utilizando el CLSID provisto para tal fin. http://blogs.msdn.com/b/ieinternals/archive/2011/08/03/internet-explorer-automation-protected-mode-lcie-default-integrity-level-medium.aspx

Cuestiones relacionadas