Compatibilty mode

For general issues related to PWB v2.

Moderators: Tyler, Scott, PWB v2 Moderator

Post Reply
jsand
Participant
Participant
Posts: 17
Joined: Sat May 20, 2006 11:11 am

Compatibilty mode

Post by jsand »

Hi, I am having problems with PWB and IE's "compatibility mode". Basically, a lot of my patrons have been complaining about websites (notably GMail) displaying (or giving warnings about displaying) in IE7 Compatibility Mode. In another thread:

(which I guess I don't have enough posts to have permission to link to...)

...you said that as of 2.11.2 PWB "uses automatic detection to change to IE8 instead of IE7 compatibility mode as this is the most popular setting". I'm a little confused as to what this means, because it doesn't seem to be what I'm seeing. I downloaded the latest PWB on 5/23/12 (either 2.11.5 according to the website, or 2.11.6 according to the file version), and with either my highly customized .ini or the default .ini, GMail is displaying in compatibility mode, not standards mode, with the site giving me a warning as such. I've tested this on three different computers running IE8 on XP SP3. On all of these computers, regular IE displays GMail in IE8 rendering mode as it should, since GMail isn't on Microsoft's compatibility list.

I will note, for the record, that Firefox's "IE Tab" extension produces the same result.

Is PWB not doing what it is supposed to? Is there not some way to make PWB truly do the same thing that IE does with respect to the compatibility list (IE7 rendering if the site is on the list, and IE8 if it's not on the list)? It seems like this is way more complicated than it should be.

Further, IE 8 was released a full three years ago. Why are these rendering mode settings still undocumented in PWB? We have been using PWB for many years and have been very satisfied customers, but if it is unable to simple things like display GMail correctly even in the latest version, I am becoming somewhat concerned.

EDIT: I did a little more digging. These are the first few lines of the HTML source on GMail as viewed by PWB:

Code: Select all

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Gmail</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
According to an article I'm reading on MSDN, the last line (...""IE=edge"...) should throw IE8 into standards mode regardless of DOCTYPE, the compatibility mode list, or anything else. So I'm even more confused what's going on.

-Jeff

Scott
Site Admin
Site Admin
Posts: 2527
Joined: Mon Dec 16, 2002 12:31 pm
Location: Rochester, MN
Contact:

Post by Scott »

It is pretty simple.

The Internet Explorer web browser control PWB utilizes defaults to compatibility mode.

Newer version of PWB detect the version of IE and set the the web browser control to the native version.

It is possible to override the PWB detection and set the compatibility mode directly.



I am guessing you are either using Internet Explorer 7.0 on the computer, or you have the following setting in your INI file that is overriding the IE detection in PWB.

[Browser]
IEBrowserEmulation=7000

Removing this setting will allow PWB to detect the version of IE on the computer and set the web browser control to native mode.


PWB hosts the Internet Explorer web browser control which does all the HTML rendering. PWB does not attempt to intercept or interpret the HTML code. PWB only responds to the IE control, and sends commands to it. Unfortunately because of this, at this point in time, PWB is unable to detect if the page is requesting compatibility mode or not.

--Scott

jsand
Participant
Participant
Posts: 17
Joined: Sat May 20, 2006 11:11 am

Post by jsand »

Scott,

Thank you for your quick response. As I said in my original post, I am having this problem on at least three different machines that:

A) Have Internet Explorer 8 (not 7) with all the latest updates
B) Do not have the IEBrowserEmulation setting set in the .ini file, either
...1) in my customized .ini file, or
...2) In the default .ini out of the .zip file.

The IE control is not behaving the way you describe. It is not defaulting to IE8 native mode no matter what. That is why I am asking for help.

Scott
Site Admin
Site Admin
Posts: 2527
Joined: Mon Dec 16, 2002 12:31 pm
Location: Rochester, MN
Contact:

Post by Scott »

If you right click on the PWB.EXE file, what is the full version indicated on the Version tab?

--Scott

jsand
Participant
Participant
Posts: 17
Joined: Sat May 20, 2006 11:11 am

Post by jsand »

Says File Version 2.1.1.6

Scott
Site Admin
Site Admin
Posts: 2527
Joined: Mon Dec 16, 2002 12:31 pm
Location: Rochester, MN
Contact:

Post by Scott »

Please send a copy of your INI file to support@teamsoftwaresolutions.com.

--Scott

jslegers
Spectator
Spectator
Posts: 1
Joined: Mon Jul 09, 2012 3:22 am

Post by jslegers »

Hello,

We have the same problem here. If i visit randstad dot nl it gives an error that compatibility view is on while it is turned off. We are using PWB 2.1.1.0.
I hope that you could fix this.

John

Scott
Site Admin
Site Admin
Posts: 2527
Joined: Mon Dec 16, 2002 12:31 pm
Location: Rochester, MN
Contact:

Post by Scott »

PWB needs to be able to edit the following Windows Registry key to put the hosted IE Web Browser control into the Native mode.

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"PWB.exe" = dword 8000(Hex: 0x1F40)

If for some reason PWB is unable to edit the Registry key the IE Web Browser control will stay in the default compatibility mode. To remedy this you can add the key to the Registry by hand.

--Scott

jsand
Participant
Participant
Posts: 17
Joined: Sat May 20, 2006 11:11 am

Post by jsand »

Let me clarify this a little. What I think was happening on my end wasn't so much that PWB couldn't write to the registry key, but that I am using a mandatory profile, which by definition won't save changes to any HKCU registry keys. What I am finding is that the first time PWB runs (or maybe actually when it quits), it writes the registry key. The SECOND time PWB launches for that user, the IEBrowserEmulate functionality takes effect. So if you run PWB once, log out, make the profile mandatory, then log it back in, the setting will never have taken hold. You need to launch PWB a second time before making the profile mandatory.

This seems like a bug, or at least a bug-like feature to me, that the emulation settings don't take effect until the 2nd launch.

Bottom line - the first time PWB launches, websites still think it's IE7. The second time PWB launches, websites will think it's IE8.

Scott
Site Admin
Site Admin
Posts: 2527
Joined: Mon Dec 16, 2002 12:31 pm
Location: Rochester, MN
Contact:

Post by Scott »

When PWB starts it writes to the registry key.

When PWB quits it removes the registry key.

So it depends on when PWB starts, and when the Mandatory Profile is applied.

--Scott

Post Reply