Opened 9 years ago

Closed 8 years ago

#10491 closed defect (fixed)

IE8 VML: Text does not display in standards mode in chart2d or pie2d

Reported by: Jared Jurkiewicz Owned by: Eugene Lazutkin
Priority: high Milestone: 1.5
Component: Charting Version: 1.4.0
Keywords: Cc:
Blocked By: Blocking:

Description

IE8 VML: Text does not display in standards mode in chart2d or pie2d

When putting the pages into standards mode with a header: <!DOCTYPE HTML PUBLIC "-W3CDTD HTML 4.01EN"

"http://www.w3.org/TR/html4/strict.dtd">

Charts do not render correctly. The chart will draw, but no text (labels etc), shows up.

This goes away if you put it into IE7 compat mode via the header:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

Attachments (4)

bug_example.html (1.2 KB) - added by Myriel 9 years ago.
gfx_vml_1.4.3.patch (612 bytes) - added by Jared Jurkiewicz 9 years ago.
Patch to add missing elems
dojo_gfx_vml_15.patch (614 bytes) - added by Jared Jurkiewicz 9 years ago.
Patch for text labels and such in VML
test_pie2d.html (3.2 KB) - added by dojo_master 8 years ago.

Download all attachments as: .zip

Change History (18)

comment:1 Changed 9 years ago by Jared Jurkiewicz

I'm not sure there is anything that can be done with this, unfortunately. MS's own VML examples fail on IE8. :-/

http://samples.msdn.microsoft.com/workshop/samples/vml/shape/textpath/t_textpath.htm

Changed 9 years ago by Myriel

Attachment: bug_example.html added

comment:2 Changed 9 years ago by Myriel

Labels do work with IE8 and dojo 1.3.2! Simple example attached that works in "IE8 + dojo 1.3.2" but does not work with "IE8 + dojo 1.4.1"

<html>
	<head>
		<title>Bug Example Charting Labels IE8</title>
		
		<!-- One of these META-Tags should force IE 8 to show in IE 7 mode, but it doesn´t work:-->
		
		<!--<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />-->
		<!--<meta http-equiv="X-UA-Compatible" content="IE=7" />-->

		
		<script type="text/javascript" src="dojo/dojo.js" djConfig="parseOnLoad: true, isDebug: false"></script>
		<script type="text/javascript">
			
			dojo.require("dojox.charting.Chart2D");
			
			makeCharts = function(){	
				
				var chart = new dojox.charting.Chart2D("thechart");
				chart.addPlot("default", {type: "Columns"});
				chart.addAxis("x", {majorTicks: true,	
									majorLabels: true, 
									minorTicks: false, 
									minorLabels: false
									});
				chart.addAxis("y", {min: 0,
									vertical: true, 
									minorTicks: true, 
									majorTicks: true,							
									majorLabels: true, 
									minorLabels: true
									});			
				chart.addSeries("Series", [222, 197, 325, 298, 193, 312, 352]);				
				chart.render();	
				
			};	

			dojo.addOnLoad(makeCharts);

		</script>
	</head>

	<body>
		<div id="thechart" style="width: 70%; height: 70%;"></div>
	</body>

</html>

comment:3 Changed 9 years ago by haavikko

I found a VML text example that works in IE8:

http://samples.msdn.microsoft.com/workshop/samples/dhtmltechcol/dnwebteam/webteam11062000/vmltext6.htm

(there are other examples in vmltext[1..6].htm)

I don't know whether this technique is applicable to dojox.gfx.

comment:4 in reply to:  3 Changed 9 years ago by Eugene Lazutkin

Replying to haavikko:

I found a VML text example that works in IE8:

Thank you, I will definitely look into them to see if we can do anything about the vanishing text in IE8.

comment:5 in reply to:  3 Changed 9 years ago by Kitson Kelly

Replying to haavikko:

I found a VML text example that works in IE8:

FYI, I tried on IE8 and flipped through developer tools. First the important thing is that is has to be "Quirks Mode" for it to work. It is strange though that IE8 thinks this document needs to be rendered in Quicks Mode because it has a valid DOCTYPE, but it does. If you force it into IE8 Standards mode, the document fails to render the text. I tried changing an app of mine into "Quirks Mode" by omitting the DOCTYPE and leaving out forcing it to render as IE7, but it didn't automatically fix the text, but when I used the developer tools to force it into IE7, bingo the text comes back. Garghhhh.

comment:6 Changed 9 years ago by Eugene Lazutkin

Milestone: tbdfuture
Status: newassigned

comment:7 Changed 9 years ago by Jared Jurkiewicz

You won't believe this, but there may be a very simple fix! The text/textpath/path elems are missing in the dojo/_loader/hostenv_browser file. I added them and the labels appeared, even in standards mode!

So ... patch coming.

Changed 9 years ago by Jared Jurkiewicz

Attachment: gfx_vml_1.4.3.patch added

Patch to add missing elems

Changed 9 years ago by Jared Jurkiewicz

Attachment: dojo_gfx_vml_15.patch added

Patch for text labels and such in VML

comment:8 Changed 9 years ago by Eugene Lazutkin

(In [22076]) gfx: bugfix - added missing shape elements to the list, thx Jared!, !strict, refs #10491.

comment:9 Changed 9 years ago by Eugene Lazutkin

(In [22077]) gfx: bugfix - added missing shape elements to the list, thx Jared!, !strict, refs #10491.

comment:10 Changed 9 years ago by Eugene Lazutkin

Resolution: fixed
Status: assignedclosed

comment:11 Changed 9 years ago by Eugene Lazutkin

Milestone: future1.5

Changed 8 years ago by dojo_master

Attachment: test_pie2d.html added

comment:12 Changed 8 years ago by dojo_master

Resolution: fixed
Status: closedreopened

Re-opening. Please help with fix to run test_pie2d.html in IE8 with labels. If you can help me fix this page, then I should be able to reuse the fix for the place I am encountering this issue in my app.

Much appreciation for any help.

comment:13 Changed 8 years ago by dojo_master

I am using Dojo 1.4.3. Can you please help to see if you can get the pie chart labels to show in IE, using the sample test_pie2d.html page attatched above using dojo 1.4.3?

I would greatly appreciate it.

comment:14 Changed 8 years ago by Jared Jurkiewicz

Resolution: fixed
Status: reopenedclosed

You have to apply the patch (gfx_vml_1.4.3.patch) that is attached to this ticket to dojo 1.4.3. Closing again, as the issue was fixed.

Note: See TracTickets for help on using tickets.