本文介绍了网页按钮不能从iembed.exe工作,但在常规iexplore.exe中工作正常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

运行IE8 32位的Windows Server 2008 R2 Standard 64位中的问题。完全相同的场景在2000 Standard,2003(R2)Standard和XP Pro SP2-3中运行完美,它们是32位,运行IE8。这些是我们远程销售的终端服务器
reps。

Problem in Windows Server 2008 R2 Standard 64bit running IE8 32bit. The exact same scenarios work perfectly in 2000 Standard, and 2003 (R2) Standard, and XP Pro SP2-3 which are 32bit, running IE8. These are Terminal Servers for our remote sales reps.

我们有一个Java实时聊天应用程序(托管,第三方,无法修改),其中嵌入式IE将包含我们的 开始销售代表的销售页面。它具有SQL查找功能,并显示一些客户信息。这无处不在。在该屏幕上按钮
用于连接到我们的电话系统,并将结果代码添加到客户文件也可以在任何地方正常工作。

We have a Java live chat application (hosted, 3rd party, cannot modify) in which an embedded IE will contain our starting sales page for sales reps. It has a SQL lookup functionality, and displays some customer info. This works fine everywhere. Buttons on that screen for connecting to our phone system, and adding result codes to customer files also work fine everywhere.

一个按钮可以打开完整的客户屏幕窗口(打开一小部分:生成代码以打开客户屏幕的空白窗口)将无法正常工作。它给出了"此页面上的脚本中发生了错误" - "服务器执行失败"。

One button that opens the full customer screen in its own window (opens small about:blank window that generates code to open the customer screen) will not work. It gives "An error has occurred in a script on this page" - "Server Execution Failed".

如果我从嵌入式IE复制起始页面URL并将其粘贴到标准IE中,那么一切都可以正常工作。这个问题仅在从嵌入式IE运行时才存在,我们必须使用嵌入式IE。

If I copy the starter page URL from the embedded IE, and paste it in a standard IE, then everything works with no issues. This problem only exists when run from an embedded IE, and we MUST use that embedded IE.

我们围绕这个步骤迈出了第一步:在第一个关于:空白窗口中获取客户屏幕,没有它生成代码打开另一个带参数的窗口。这将允许客户屏幕无错误地打开。但是,任何页面刷新(丢弃
下框等)都会导致另一个脚本错误,但是"对象预期"会导致错误。而不是"服务器执行失败",而打开另一个页面的任何按钮(用于计费信息等)会再次导致原始错误。

We managed a first step around this: Get customer screen to load in the first about:blank window, not have it generate code to open another window with parameters. This will allow the customer screen to open without error. HOWEVER, any page refresh (drop down boxes, etc.) cause another script error, but with "Object Expected" instead of "Server Execution Failed", and any button that opens another page (for billing info, etc.) cause the original error again.

再次,如果从标准IE,但我们从嵌入式IE启动时会收到所有这些错误。我错过了什么?我们没有时间重新开发我们所有的销售代表屏幕来跳过随机的箍,这是b $ b这对我们不利。

Again, everything works perfectly fine if initiated from a standard IE, but we get all these errors when initiated from embedded IE. What am I missing? We can't afford the time to re-develop all of our sales rep screens to jump through random hoops that this is throwing at us.

看到嵌入IE的同样问题在Outlook2007的论坛上,但没有解决方案:

Seen same problem with embeded IE on forum for Outlook2007, but no solution: http://www.msofficeforums.com/outlook/2097-error-has-occurred-script-page.html

我们尝试过Java 6更新7,Java 6更新22.打开任何可能相关的安全设置(Java中的设置不多)。

We have tried Java 6 update 7, Java 6 update 22. Opened any security settings that seemed at all possibly related (not much for settings in Java).

尝试过IE设置重置为默认值,设置为最小值,并设置为与所有其他服务器/桌面上完全相同的设置。

Have tried IE settings reset to default, set to minimum, and set to exact same settings as have on all other servers/desktops.

"禁用调试"设置,以及"显示所有脚本错误"所有设置都是如此,我们甚至不应该看到这些错误,但不知怎的,他们仍然会出现。这些已由组策略,组策略首选项和登录时手动设置设置。

The "Disable debugging" settings, and the "Show all script errors" are all set so we should not even see these errors, but somehow they still show up. These have been set by group policy, group policy preferences, and manually setting while logged in.

有McAfee ToPS服务,但在测试期间卸载,无需更改。

Had McAfee ToPS service, but uninstalled during testing, no change.

要么与嵌入式IE中未生效的疯狂未知安全设置有关,要么与嵌入式IE相关的64位有关。在测试期间检查过程,它们总是* 32位(iexplore和iembed)。

Either related to crazy unknown security settings that do not take effect in embedded IE, or something 64bit related with embedded IE. Have checked processes during testing, and they are always *32 bit (both iexplore and iembed).

我将接受任何解决方案或解决方法,但需要在Java应用程序中调用它嵌入式结构。

I will accept any solution or workaround, but it needs to be called from within the Java application embedded structure.

非常感谢,b
Kristopher Kauth

Thanks a bunch,
Kristopher Kauth

推荐答案

哇。没有回复:(

以下是最近测试的更多详细信息。我将使用术语"broken"来描述IeEmbed何时尝试打开新的iexplore窗口,但崩溃。 ; normal"指的是单击程序图标,快捷方式或其他此类Windows方法打开
Internet Explorer。

Here are more details from recent testing. I will use the term "broken" to describe when IeEmbed tries to open a new iexplore window, but crashes. The term "normal" is referring to clicking the program icon, shortcut, or other such Windows method to open Internet Explorer.

1)如果绝对没有iexplore窗口打开则开始,然后IeEmbed窗口将成功打开一个新的iexplore窗口。

1) If absolutely no iexplore windows are open to begin with, then the IeEmbed window will successfully open an new iexplore window.

2)如果按照第1点所述打开了iexplore窗口,那么只要它继续运行,任何进一步的窗口无论如何打开它们都能正常工作。但是,如果该窗口关闭,那么来自IeEmbed的任何其他窗口都将被破坏。 (即
,如果你成功打开一个窗口,它会神奇地帮助所有其他人打开罚款,但如果那个"帮助者"窗口关闭,那么就回到破碎的状态。)

2) If an iexplore window was opened as mentioned in point 1), then as long as it stays running, any further windows will work properly, no matter how they are opened. But, if that window is closed, then any further windows from IeEmbed will be broken. (ie. if you successfully open one window, it will magically help all of the others open fine, but if that "helper" window is closed, then go back to a broken state.)

3)如果iexplore正常打开,从而导致IeEmbed的新窗口破损状态,我们可以通过调用批处理文件从IeEmbed打开64位iexplore来部分解决。 (仍然试图找到一种干净利落的工作方式。)

3) If iexplore is opened normally, thus causing the broken state for new windows from IeEmbed, we can partially workaround by calling a batch file to open a 64bit iexplore from the IeEmbed. (Still trying to figure a way for this to work cleanly.)

4)如果有任何正常打开的64位iexplorers已经打开,则第3点的解决方法会被破坏。 (即64位IE打破了自己,就像32位一样,但至少它们不会相互破坏。)

4) Workaround from point 3) gets broken if there are any normally opened 64bit iexplorers already open. (ie. 64bit IE breaks itself the same way 32bit does, but at least they do not break each other.)

结论:如果32位iexplore已经打开,然后IeEmbed无法打开一个新的32位iexplore窗口,但它可以打开一个64位iexplore窗口。这是一个非常有限的解决方法,因为在64位iexplore中许多东西都不兼容,加上
如果已经打开了64位iexplore,则解决方法会被破坏。

Conclusion: If 32bit iexplore already open, then IeEmbed cannot open a new 32bit iexplore window, but it can open a 64bit iexplore window. This is a very limited workaround, as many things are not compatible in the 64bit iexplore, plus the workaround is broken if there is already a 64bit iexplore open.

     任何建议都将不胜感激。

     Any advice would be appreciated.

谢谢,b
Kristopher Kauth

Thanks,
Kristopher Kauth


这篇关于网页按钮不能从iembed.exe工作,但在常规iexplore.exe中工作正常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-26 17:45