使用IE6控制页面堆栈 [英] Controlling Page Stack Using IE6

查看:58
本文介绍了使用IE6控制页面堆栈的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的客户端应用程序在Firefox中可靠地运行,但在IE6中却没有。问题似乎是我无法控制IE中的页面堆栈,而我在Firefox中也是如此。到目前为止,我还没弄明白如何使用?焦点?确保正确的页面排序。


以下是我的客户端应用程序的概述。有6个屏幕捕获用户输入的数据。屏幕1打开2,打开3,打开4,打开5,打开6.每个屏幕都要求用户输入数据,然后再移动到下一个屏幕。如果发现错误或跳过必填字段,数据验证将阻止移至下一个屏幕。每个屏幕按下NEXT按钮打开后续屏幕。按下NEXT按钮时,该屏幕未关闭,但保持打开状态,保持输入的数据。


当到达屏幕6时,没有NEXT按钮,因为有没有屏幕跟着它。代替NEXT按钮,屏幕6显示SAVE按钮。在屏幕6中的数据输入和验证之后,按下SAVE按钮使得屏幕6的数据被传递到其父(屏幕5)并且屏幕6被关闭。关闭屏幕6使屏幕5显示在堆叠的顶部。屏幕5现在仅显示SAVE按钮(替换以前使用的NEXT按钮)。按屏幕5 SAVE按钮将所有数据传递到5到4并关闭5,剩下4显示在堆栈顶部。 SAVE按钮用于屏幕4,3和2,以将它们各自的数据移动到屏幕1,屏幕1在过程结束时是唯一保持打开的屏幕。此时会出现一个REPORT按钮,根据从屏幕6,5,4,3和2传递给1的数据启动报告。


Firefox似乎控制了正确堆叠是当按下NEXT按钮时,Firefox会在新选项卡中打开每个后续屏幕。因此,当按下屏幕6 SAVE按钮时,6关闭,5立即从它后面出现。


与Firefox相比,IE6在单独的窗口中打开每个屏幕,而不是标签。当按下屏幕6 SAVE按钮时,屏幕5并不总是出现在堆栈中的下一个屏幕,或者如果是,则其父(屏幕4)并不总是在堆栈中的后面。


我发生的是这些可能性:

(a)控制堆栈顺序,使它始终为6,5,4,3,2, 1;通过使用?焦点来控制?或者其他一些javascript技术;

(b)在IE中打开屏幕,以便获得所需的顺序(假设IE和Firefox会以相同的方式使用标签);

(c)其他人更有经验的建议。


TIA任何有用的想法!!

My client-side application works reliably and as intended in Firefox, but not in IE6. The problem seems to be that I do not have control over the page stack in IE, while I do in Firefox. So far I have not figured out how to use ?focus? to assure proper page sequencing.

Here is an overview of my client-side application. There are 6 screens that capture user-entered data. Screen 1 opens 2, which opens 3, which opens 4, which opens 5, which opens 6. Each screen requests the user to enter data before moving to the next screen. Data validation prevents moving to the next screen if errors are found or a required field is skipped. Each screen opens the subsequent screen by pressing the NEXT button. When the NEXT button is pressed, that screen is not closed, but stays open holding the data that was entered.

When screen 6 is reached, there is no NEXT button, because there is no screen following it. In place of a NEXT button, screen 6 shows a SAVE button. After data entry and validation in screen 6, pressing the SAVE button causes screen 6?s data to be passed to its parent (screen 5) and screen 6 is closed. Closing screen 6 leaves screen 5 showing at the top of the stack. Screen 5 now shows only a SAVE button (replacing the previously used NEXT button). Pressing the screen 5 SAVE button passes all data in 5 to 4 and closes 5, leaving 4 showing at the top of the stack. SAVE buttons are used for screens 4, 3, and 2 to move their respective data to screen 1, which at the end of the process is the only one remaining open. At that point a REPORT button appears to initiate reporting based on the data passed to 1 from screens 6, 5, 4, 3, and 2.

The reason that Firefox seems to control the stack properly is that when the NEXT button is pressed, Firefox opens each subsequent screen in a new tab. Thus when pressing the screen 6 SAVE button, 6 is closed and 5 immediately appears from behind it.

In contrast to Firefox, IE6 opens each screen in separate windows, not tabs. When pressing the screen 6 SAVE button, screen 5 is not always the next screen in the stack to appear, or if it is, then its parent (screen 4) is not always behind it in the stack.

What occurs to me are these possibilities:
(a) control the stack order so that it is always 6, 5, 4, 3, 2, 1; control by use of ?focus? or some other javascript technique;
(b) make the screens open in IE in tabs so that the desired order is obtained (this assumes IE and Firefox would use tabs in the same manner);
(c) something else someone more experienced would suggest.

TIA for any ideas that work!!

推荐答案

由于你打开了新的窗口,window.opener应该引用父窗口。
Since you''re opening new windows, window.opener should refer to the parent window.


是的,窗口开启器指的是每个窗口的父窗口。窗口1是2,2的父级到3的父级,等等。由于这种关系,在Firefox中工作正常,但在IE6中没有。
Yes, window opener refers to each window''s parent. Window 1 is parent to 2, 2 parent to 3, etc. Because of that relationship, things work fine in Firefox, but not in IE6.


如果尝试使用更少的窗口,那么工作?


它可能是IE6中的内存错误。


就个人而言,我更愿意尽可能避免弹出窗口。您可以使用DHTML(显示和隐藏div)实现相同的功能。
If you try with fewer windows, does that work?

It may be a memory bug in IE6.

Personally, I prefer to avoid popup windows wherever possible. You could achieve the same functionality using DHTML (show and hide divs).


这篇关于使用IE6控制页面堆栈的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆