Package com.smartgwt.client.docs
Interface NoFrames
public interface NoFrames
Don't Misuse Frames
Loading the Smart GWT framework into multiple frames or iframes within the same browser is not a supported configuration, or more accurately, not a supportable configuration, for the following reasons:- each additional frame multiplies the memory footprint and reduces speed
- having multiple frames prevents drag and drop between components in different frames
- modality handling (eg modal dialogs) doesn't automatically take into account multiple frames (consider tabbing order, nested modality and other issues, you'll see it's not realistic to provide automatic cross-frame modality handling)
- inter-frame communication triggers several browser bugs: memory leaks, performance issues, intermittent crashes in some browsers, inconsistencies in basic JavaScript operators such as "typeof", and problems with form focus handling in IE, among many other bugs
The recommended Smart GWT Architecture
involves loading as many Smart GWT-based application views as possible
in the first page load, then showing and hiding different views as the user navigates through
the application.
If, for whatever reason, you cannot follow the Smart GWT Architecture and
must load new Smart GWT-based views by contacting the server each time, use the ViewLoader
class to load new views, never frames.
Note that
the use of IFrames is appropriate in certain circumstances, including loading certain types of
content within an contentsType,HTMLFlow
. The only
prohibited usage is loading the Smart GWT framework into multiple frames within the same
browser.