The newer versions of IE pose many rendering issues/challenges which affect EP rendering. There are so many complications and solutions around this subject that it’s really hard to deal with.
So I decided to learn this subject and make some order in all this mess – so that I’ll know how to handle the variety of issues that come to our door here at support. In this blog I will share some of these issues with you.
I used kind of childish graphics – but I think that they demonstrate my points nicely.
So here’s an historical review of the evolution of the standards/quirks issues:
1. In the beginning –old IE versions
The older versions of IE (such as IE6, IE7) ran only in quirks mode. The portal rendered everything in quirks mode with no issues. Applications running in the portal were not strict about standard syntax and they lived happily within IE – which wasn’t strict about syntax either.
Then IE with standards mode arrived and evolved and the portal had to deal with rendering issues…
2. IE8 presents standards mode
Problem |
---|
IE8 and above presented standards mode rendering. For IE8 and IE9 the default mode is quirks, but if the administrator configured all the browsers in an organization to run in standards mode, the portal wouldn’t be rendered well. |
Solution |
---|
Enforce IE to run the portal in quirks mode by changing the document mode. How? We added an iView to all framework pages. The iView adds parameter to the header and tells IE to render in quirks mode. This iView has to be added to every non-standard framework page for the portal to be rendered correctly. |
And peace is restored…
3. SAP presents UI5 applications
Problem |
---|
In recent years SAP introduced a new UI technology for SAP applications called SAP UI5. UI5 applications are written in standards mode and require standards mode rendering, while the portal runs only in quirks mode. Standards and quirks can’t run together on the same page. |
Solution |
---|
Run standards-mode applications in a separate window which opens in standards mode. How? Set the “Launch in New Window” property of the iView to “Display in separate headerless portal window (standards mode)”. This navigation mode, as its’ name implies, tells the iView to open in a new window and sets the HTML header to standards. |
More Details |
---|
|
And the smile is back...
4. IE10 and IE11 presents QME mode – quirks mode is not really quirks anymore
Problem |
---|
From IE10 the values that were previously used for rendering pages in quirks mode (Emulate IE7/Emulate IE8) are now rendered in QME (Quirks Mode Emulation). In this QME mode there are slight differences in some values that the browser returns and the portal again is not rendered well. |
Solution |
---|
Use another value (IE=5, IE=EmulateIE7 ) to enforce the “old” quirks mode. How? Change the “Browser Mode” property value of the “Browser Document Mode” iView to IE=5 |
Mode Details |
---|
|
5. IE11 run in standards mode by default
Problem |
---|
When a new window is opened by an application in IE11, the new window is opened in standards mode by default (before IE11, the new window was opened according to the parent window’s mode). If the application that is opened in the new window doesn’t support standards mode – it will be rendered incorrectly. |
Solution |
---|
Enforce IE11 to render the newly-opened page in the correct rendering mode. How? Check the document mode of the parent window before opening the new window, and enforce the parent’s mode on the child. |
More Details |
---|
This note has a few side effects which were fixed in the following notes: |
And again:
6. IE11 presents itself as Mozilla
Problem |
---|
According to Microsoft documentation, the IE11 user agent string was changed to be compatible with modern browsers. It returns the following string: “Mozilla/5.0(Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko.” This string was not familiar to the portal, and the portal recognized IE11 as if it was Mozilla. Due to that, the X-UA-Compatible string which changes the document mode to quirks was not sent to the browser, causing rendering issues. Another instance of this problem appears in HTMLB applications. HTMLB APIs also check for the UserAgent of the browser, and like the Portal – the HTMLB code recognized IE11 as Mozilla, and as a result upload wrong sources to the browser, and the controls don't function as expected. |
Solution |
---|
Familiarize the portal with the new user agent string as an IE11 user agent. How? Add this new user agent string to the “user agents” dictionary of the portal. |
More details |
---|
Note: 1972506 - Cannot access portal with Internet Explorer 11 Fix for HTMLB: note 2000759 - HTMLB Support for IE11 |
And we're smiling again...
7. Standards mode Web Dynpro applications
Problem |
---|
Some WD ABAP/JAVA applications started running standards by default (for example – HCM). Because the Portal enforces quirks mode, these applications have rendering issues when they run in the portal. The result is bad rendering of the applications. |
Solution |
---|
Enforce the application to run in quirks mode. How? Add a parameter (SAP IE parameter) to the application URL which tells the application in which mode it should run. For quirks it would be ie=EmulateIE8” and for standards ie=Edge”. This works for all ABAP applications except for SAP Transaction iViews (SAP GUI for HTML) which receive the application parameters in another format, so the sap-ie parameter is not aggregated to the URL as expected. In newer portal SPs all of this happens automatically (see note 1814711) and the portal knows what to send to every destination. But! Previous to the versions mentioned in the note, you had to set the SAP IE parameter manually for all applications, and for SAP Transaction iViews you had to do a special configuration according to note 1970427. |
More Details |
---|
Side effect note to 1753544: |
And finally:
8. iViews running in standalone mode (with no framework page)
Problem |
---|
There are scenarios that Portal AI iViews are opened in new window directly, means: some application navigate to the URL of the iView without using the navigation APIs. Examples for this are: previewing an iView (from the content management), BI launcher – launches BI iViews directly. Since there is no framework page – there is no direction for the browser in which document mode to be opened, so the browser opens in the default mode. In IE11 the default mode is “Edge”, and hence there are rendering issues for iView that needs “Quirks” rendering. |
Solution |
---|
Add the meta-tag for document mode indication (either standard or quirks) in the head of the iView HTML How: The correct value will be detected by a new property on the iView, which indicates whether the iView should be running and quirks mode or standard mode. |
More Details |
---|
I wrote an extensive blog about this topic which explains the issue and the solution for it: Rendering issues when running portal iView with no Portal framework (standalone) There are few notes for this issue:
|
These are all of the issues that I’m aware of at the moment. I hope that this blog made some sense in all the confusion around the portal and IE.
I want to end this blog with some good news.
You were probably thinking “why don’t they just adjust the main framework pages in the portal to be compliant with standards mode? This would solve many of the issues mentioned here!”
Well… we are! In the next SPs of 7.31 (SP14) and 7.40 (SP9) the Ajax Framework Page will support standards mode!
You can read the blog that my colleague Matan Mizrahi wrote about the Ajax Standards Framework page: Ajax Framework Page in IE standards mode and the note which describe the framework page is: 2001910 - AFP Standards mode support.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
27 | |
27 | |
13 | |
13 | |
12 | |
12 | |
10 | |
7 | |
7 | |
6 |