tracker issue : CF-4160040

select a category, or use search below
(searches all categories and all time range)
Title:

CFForm causes IE11 to run in IE8 mode

| View in Tracker

Status/Resolution/Reason: Closed/Withdrawn/CannotReproduce

Reporter/Name(from Bugbase): Robert Shortley / Robert Shortley (Robert Shortley)

Created: 06/01/2016

Components: CFForm

Versions: 10.0

Failure Type:

Found In Build/Fixed In Build: Final, CF10 U20, CF11 U9 /

Priority/Frequency: Normal / Most users will encounter

Locale/System: English / Windows 7 64-bit

Vote Count: 0

Problem Description:When I use CFFORM tags, my browser's user agent changes from "5.0 (Windows NT.6.1; WOW64; Trident 7.0...rv:11.0) like Gecko" to "4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident 7.0...etc...)"

Steps to Reproduce: It's the presence of either cfform.js or masks.js that are written in when a CFFORM tag is present causes the browser compatibility mode change.

I made a simple HTML5 page with an alert for navigator.userAgent. Putting either one in causes the downgrade.


Actual Result:

Expected Result:

Any Workarounds:
Not using CFForm

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	4160040

External Customer Info:
External Company:  
External Customer Name: Robert Shortley
External Customer Email:  
External Test Config: My Hardware and Environment details:

Attachments:

  1. June 06, 2016 00:00:00: 1_2016-06-06_8-55-39.jpg
  2. June 06, 2016 00:00:00: 2_2016-06-06_8-57-49.jpg
  3. June 06, 2016 00:00:00: 3_2016-06-06_8-58-50.jpg

Comments:

Robert, I have tested it on both Coldfusion 10 update 19 and Coldfusion 10 Final with Windows Server 2012 R2 and IE 11.0.960.16436 We are unable to reproduce the bug with the code snippet provided below <!DOCTYPE html> <html> <body> <cfform type="html/xform"> <cfinput type="submit" name="SubmitAsHTTPPost"> <cfinput type="submit" name="SubmitAsPDF" submitType="PDF"> <script type="text/javascript"> alert(navigator.userAgent); </script> </script> </cfform> </body> </html> Please provide the following details which would help us to reproduce the bug - Environment details (OS and IE version) - Code snippet - Screen-shots Thanks Subir
Comment by Subir J.
2545 | June 06, 2016 04:43:07 AM GMT
Tested IE11 on Win10 against CF2016 (running on Win 10) and Win7 against CF2016 (running on Win 2012 R2), CF11 (running on Win 2008R2), and CF10 (running on Win 2008R2) and could not duplicate. Compatibility mode is a big issue for us so I wanted to make sure this would not affect our users.
Comment by External U.
2546 | June 06, 2016 06:29:12 AM GMT
This is the page that I used: I tried with and without cfform.js and masks.js <!DOCTYPE HTML> <html lang="en"> <head> <InvalidTag type="text/javascript" src="/CFIDE/vcfscripts/cfform.js"></script> <InvalidTag type="text/javascript" src="/CFIDE/vcfscripts/masks.js"></script> <InvalidTag charset="utf-8"> <InvalidTag http-equiv="X-UA-Compatible" content="IE=EDGE"> <InvalidTag name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <InvalidTag>alert(navigator.userAgent);</script> </body> </html>
Comment by External U.
2547 | June 06, 2016 07:24:52 AM GMT
I have also attached 3 screenshots: 2016-06-06_8-55-39.jpg - Browser Version 2016-06-06_8-57-49.jpg - With the links to the JS files 2016-06-06_8-58-50.jpg - Without the links to the JS files
Comment by External U.
2548 | June 06, 2016 07:31:02 AM GMT
Should be noted that this is running in HTTPS mode as well.
Comment by External U.
2549 | June 06, 2016 08:12:23 AM GMT
Robert, I have tried the code that you shared, on a connector configured with iis and running on https mode, I am still unable to repro the case. There are multiple <InvalidTag> on the code you shared so i replaced them with <script> and <meta> tags. <InvalidTag> is generated when you enable Enable Global Script Protection in Coldfusion Administrator Source - http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7d69.html and here is the code that i ran <!DOCTYPE HTML> <html lang="en"> <head> <script> type="text/javascript" src="/CFIDE/vcfscripts/cfform.js"></script> <script> type="text/javascript" src="/CFIDE/vcfscripts/masks.js"></script> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=EDGE"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <script>alert(navigator.userAgent);</script> </body> </html> Can you please share code snippet that generated code that you sent. and the screen-shot of Server Settings > Settings Summary Thanks Subir
Comment by Subir J.
2550 | June 08, 2016 12:54:35 AM GMT
Robert, With the example code I wasn't able to duplicate the browser going into compatibility mode, but I remember running into it when we made our pages IE11 compatible. In my case I decided it was just simpler to not use cfform since none of the pages I inherited were actually using any of the features. It was just overhead with no benefit. If you use the Developer Tools in IE11 to look at the "Response Body" you'll see that CF is incorrectly putting the scripts above the DOCTYPE tag. The HTML spec requires the DOCTYPE to be the very first thing. The browser switches to compatibility mode because your page is malformed. In your example try adding <head></head> after the <html> tag. In my quick test CF then correctly put the script tags within the head tag. Apparently if the head tag doesn't exist it just throws it at the top of the page instead of adding a head tag.
Comment by External U.
2551 | June 08, 2016 10:40:48 AM GMT
George, Thanks for the information you provided. Please attach a code snippet which will help us to reproduce the issue. Regards Subir
Comment by Subir J.
2552 | July 28, 2016 05:48:47 AM GMT
Subir, I used the code snippet you provided in your first example. Run that as you have it, and look at the resulting source code. Then add "<head></head>" in between the html and body tags, rerun and look at the resulting source code. Without the head tag you should see CF puts the CF scripts above the DOCTYPE and with the head tags in place it puts the scripts inside the head tag. Just for completeness, here's your original: <!DOCTYPE html> <html> <body> <cfform type="html/xform"> <cfinput type="submit" name="SubmitAsHTTPPost"> <cfinput type="submit" name="SubmitAsPDF" submitType="PDF"> <InvalidTag type="text/javascript"> alert(navigator.userAgent); </script> </script> </cfform> </body> </html> And here's the one with the head tag added: <!DOCTYPE html> <html> <head></head> <body> <cfform type="html/xform"> <cfinput type="submit" name="SubmitAsHTTPPost"> <cfinput type="submit" name="SubmitAsPDF" submitType="PDF"> <InvalidTag type="text/javascript"> alert(navigator.userAgent); </script> </script> </cfform> </body> </html>
Comment by External U.
2553 | July 28, 2016 09:27:15 AM GMT
George, We have added a bug for the issue you discussed. you can track new by navigating to https://bugbase.adobe.com/index.cfm?event=bug&id=CF-4176858
Comment by Subir J.
2554 | July 29, 2016 01:48:54 AM GMT
Robert, I have tried the code that you shared, on a connector configured with iis and running on https mode, I am still unable to repro the case. 1. Please share code snippet that generated code that you sent 2. Steps that reproduce the bug. 3. Screen-shot of Server Settings > Settings Summary Thanks Subir
Comment by Subir J.
2555 | August 10, 2016 05:24:23 AM GMT
I submitted this bug in another forum and users were able to replicate there. For them, the problem seems to stem from where CF server inserts the javascript tags.
Comment by External U.
2556 | August 10, 2016 06:46:30 AM GMT
Robert, Thanks for the information, Can you please also share the link of forum thread. Thanks and Regards Subir
Comment by Subir J.
2557 | August 10, 2016 07:14:55 AM GMT
Robert, Just a reminder to provide requested details. Thanks Subir
Comment by Subir J.
2558 | August 24, 2016 02:03:50 AM GMT
Robert, We are closing this bug as we are not able to reproduce this bug. Thanks Subir
Comment by Subir J.
2559 | August 26, 2016 05:37:18 AM GMT