Запустите Internet Explorer 8 в отдельном процессе, используя vbscript - PullRequest
7 голосов
/ 10 января 2011

Из-за недавно добавленной «функции» в IE8, когда новые окна автоматически связываются с единичным сеансом , часть нашего кода ведет себя беспорядочно.

Это связано с тем, что отдельное приложение будет запускать новое окно IE, когда оно будет активировано, и после завершения работы пользователя закройте окно. Это хорошо работало в IE7, потому что информация о сеансе в окнах оставалась отдельной. Однако в IE8, поскольку сеанс является общим для окон IE, мы обнаруживаем, что «всплывающее» приложение может повредить сеанс в первом приложении.

Я читал о переключателе nomerge, так что это обходной путь, но мне было интересно, есть ли способ перевести решение в «CreateObject» vbscript; то есть:

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

Есть ли способ отправки параметров при вызове функции CreateObject?

Ответы [ 3 ]

4 голосов
/ 16 сентября 2011

Нет, нет способа использовать COM для создания экземпляра IE, который определяет это поведение (или любое другое, например, InPrivate, No Add-ons и т. Д.). only , что вы можете сделать, - это создать экземпляр автоматизации, который по умолчанию будет MediumIL, используя CLSID, предоставленный для этой цели.http://blogs.msdn.com/b/ieinternals/archive/2011/08/03/internet-explorer-automation-protected-mode-lcie-default-integrity-level-medium.aspx

0 голосов
/ 26 сентября 2011

Решение, к которому мы в итоге пришли, хотя это скорее обходной путь, чем что-либо еще, - это присвоение нового URL всплывающему окну.

Ранее это работало следующим образом:

Агенты колл-центра будут использовать наше внутреннее приложение для других задач например "http://internalsite/somepage.faces" на ежедневной основе. При получении телефонного звонка запускается стороннее приложение. "http://internalsite/customerdetails.faces". Это вызвало проблемы, упомянутые выше.

Решение, с которым мы пошли:

Мы присвоили "http://internalsite/customerdetails.faces" его собственный URL, например." http://customerdetailminisite/customer.faces".

Таким образом, агент центра обработки вызовов может держать свое главное окно открытым для других вещей и при этом иметь возможность обрабатывать вызовы, когда они поступают.

0 голосов
/ 22 сентября 2011

Если у вас есть контроль над веб-приложением, которое вы загружаете из окна IE, вы можете установить для его сеанса значение «без файлов cookie» (http://msdn.microsoft.com/en-us/library/aa479314.aspx), что позволит избежать проблем, возникающих при работе с несколькими экземплярами.

...