Page MenuHomePhabricator

Remove IE8 Javascript hacks/workarounds/etc. from extensions
Open, LowPublic

Description

As of rMWdf1019c49d30: startup.js: Move IE8 down from Grade A to Grade C, MediaWiki no longer serves JavaScript to IE8 users. There are a lot of IE8 hacks lying around that can now be removed. grepping for "IE8" will likely find a lot.

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Legoktm raised the priority of this task from to Needs Triage.Jan 11 2016, 6:57 AM
Legoktm subscribed.

Change 296499 had a related patch set uploaded (by Mholloway):
Remove IE8 JS compatibility hacks/workarounds

https://gerrit.wikimedia.org/r/296499

Phabricator_maintenance renamed this task from Remove IE8 hacks/workarounds/etc. from extensions (tracking) to Remove IE8 hacks/workarounds/etc. from extensions.Aug 13 2016, 11:22 PM

This proposal is selected for the Developer-Wishlist voting round and will be added to a MediaWiki page very soon. To the subscribers, or proposer of this task: please help modify the task description: add a brief summary (10-12 lines) of the problem that this proposal raises, topics discussed in the comments, and a proposed solution (if there is any yet). Remember to add a header with a title "Description," to your content. Please do so before February 5th, 12:00 pm UTC.

This was the ninth most popular item in the Developer Wishlist results.

First step is probably to grep for old IE JS workarounds in MediaWiki core/extension/skin code (not that CSS/security workarounds are still needed), and make a per-component subtask list.

So this task would be declared "resolved" when IE8 workarounds have been removed from any extension with an extension maintainer who agreed on removing that code?

grep results for "IE 8" | "IE8" | "Internet Explorer" | "InternetExplorer" in *.js files in git master of MediaWiki extensions in Wikimedia Git:

1=============== ActivityMonitor
2./lib/socketio.js: * for Internet Explorer. Regular forever iframe implementations will
3./lib/socketio.js: * And calls the `CollectGarbage` function of Internet Explorer
4
5=============== ArticleFeedbackv5
6./modules/jquery.articleFeedbackv5/jquery.articleFeedbackv5.track.js: * IE8 and lower do not even support dispatchEvent.
7
8=============== BlueSpiceExtensions
9./VisualEditor/resources/tinymce/classes/ui/DomUtils.js: // Workaround for <div> in <p> bug on IE 8 #6178
10./VisualEditor/resources/tinymce/classes/dom/DOMUtils.js: // IE 8 has a bug where dynamically loading stylesheets would produce a 1 item remaining bug
11./VisualEditor/resources/tinymce/classes/dom/EventUtils.js: // element on some iframes IE 8 will produce a null body
12./VisualEditor/resources/tinymce/classes/dom/Sizzle.js: // IE 8 doesn't work on object elements
13./VisualEditor/resources/tinymce/classes/dom/TridentSelection.js: // On IE 8 it will select the parent contentEditable container if you select an inner element see: #5398
14./VisualEditor/resources/tinymce/tinymce.jquery.js: // element on some iframes IE 8 will produce a null body
15./VisualEditor/resources/tinymce/tinymce.jquery.js: // IE 8 has a bug where dynamically loading stylesheets would produce a 1 item remaining bug
16./VisualEditor/resources/tinymce/tinymce.jquery.js: // On IE 8 it will select the parent contentEditable container if you select an inner element see: #5398
17./VisualEditor/resources/tinymce/tinymce.jquery.js: // Workaround for <div> in <p> bug on IE 8 #6178
18./VisualEditor/resources/tinymce/tinymce.js: // element on some iframes IE 8 will produce a null body
19./VisualEditor/resources/tinymce/tinymce.js: // IE 8 doesn't work on object elements
20./VisualEditor/resources/tinymce/tinymce.js: // IE 8 has a bug where dynamically loading stylesheets would produce a 1 item remaining bug
21./VisualEditor/resources/tinymce/tinymce.js: // On IE 8 it will select the parent contentEditable container if you select an inner element see: #5398
22./VisualEditor/resources/tinymce/tinymce.js: // Workaround for <div> in <p> bug on IE 8 #6178
23./VisualEditor/resources/tinymce/tinymce.full.js: // element on some iframes IE 8 will produce a null body
24./VisualEditor/resources/tinymce/tinymce.full.js: // IE 8 doesn't work on object elements
25./VisualEditor/resources/tinymce/tinymce.full.js: // IE 8 will crash if you don't remove completely empty text nodes
26./VisualEditor/resources/tinymce/tinymce.full.js: // IE 8 has a bug where dynamically loading stylesheets would produce a 1 item remaining bug
27./VisualEditor/resources/tinymce/tinymce.full.js: // On IE 8 it will select the parent contentEditable container if you select an inner element see: #5398
28./VisualEditor/resources/tinymce/tinymce.full.js: // Workaround for <div> in <p> bug on IE 8 #6178
29./VisualEditor/doc/legacy/bluespice.visualEditor.js: //breaking in case of IE8 runtime error
30./VisualEditor/resources/tinymce.startup.js:// Use strict breaks IE8
31./VisualEditor/resources/tinymce.startup.js: // IE8 fix, does not know Object.keys
32./VisualEditor/resources/tinymce.startup.js: // Fix for IE8/9 where we don't get a extra config by default
33./VisualEditor/resources/tinymce/classes/Editor.js: // IE8 doesn't support carets behind images setting ie7_compat would force IE8+ to run in IE7 compat mode.
34./VisualEditor/resources/tinymce/classes/EditorCommands.js: // Rendering modes below IE8 doesn't display BR elements in PRE unless we have a \n before it
35./VisualEditor/resources/tinymce/classes/dom/Sizzle.js: // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans)
36./VisualEditor/resources/tinymce/classes/dom/Sizzle.js: // We allow this because of a bug in IE8/9 that throws an error
37./VisualEditor/resources/tinymce/classes/dom/Sizzle.js: // Support: IE8, Opera 11-12.16
38./VisualEditor/resources/tinymce/classes/dom/Sizzle.js: // Support: IE8
39./VisualEditor/resources/tinymce/classes/dom/Sizzle.js: // IE8 throws error here and will not see later tests
40./VisualEditor/resources/tinymce/classes/dom/Sizzle.js: // Support: IE8
41./VisualEditor/resources/tinymce/classes/dom/Sizzle.js: // IE8 throws error here and will not see later tests
42./VisualEditor/resources/tinymce/classes/util/Quirks.js: // IE8+ rendering mode does the right thing with BR in PRE
43./VisualEditor/resources/tinymce/tinymce.jquery.js: // Rendering modes below IE8 doesn't display BR elements in PRE unless we have a \n before it
44./VisualEditor/resources/tinymce/tinymce.jquery.js: // IE8+ rendering mode does the right thing with BR in PRE
45./VisualEditor/resources/tinymce/tinymce.jquery.js: // IE8 doesn't support carets behind images setting ie7_compat would force IE8+ to run in IE7 compat mode.
46./VisualEditor/resources/tinymce/tinymce.js: // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans)
47./VisualEditor/resources/tinymce/tinymce.js: // We allow this because of a bug in IE8/9 that throws an error
48./VisualEditor/resources/tinymce/tinymce.js: // Support: IE8, Opera 11-12.16
49./VisualEditor/resources/tinymce/tinymce.js: // Support: IE8
50./VisualEditor/resources/tinymce/tinymce.js: // IE8 throws error here and will not see later tests
51./VisualEditor/resources/tinymce/tinymce.js: // Support: IE8
52./VisualEditor/resources/tinymce/tinymce.js: // IE8 throws error here and will not see later tests
53./VisualEditor/resources/tinymce/tinymce.js: // Rendering modes below IE8 doesn't display BR elements in PRE unless we have a \n before it
54./VisualEditor/resources/tinymce/tinymce.js: // IE8+ rendering mode does the right thing with BR in PRE
55./VisualEditor/resources/tinymce/tinymce.js: // IE8 doesn't support carets behind images setting ie7_compat would force IE8+ to run in IE7 compat mode.
56./VisualEditor/resources/tinymce/tinymce.full.js: // IE8 returns a string for some attributes even when not present
57./VisualEditor/resources/tinymce/tinymce.full.js: // IE8 - Some boolean attributes are not treated correctly
58./VisualEditor/resources/tinymce/tinymce.full.js: // IE8 throws error here and will not see later tests
59./VisualEditor/resources/tinymce/tinymce.full.js: // Opera 10-12/IE8 - ^= $= *= and empty values
60./VisualEditor/resources/tinymce/tinymce.full.js: // IE8 throws error here and will not see later tests
61./VisualEditor/resources/tinymce/tinymce.full.js: // Rendering modes below IE8 doesn't display BR elements in PRE unless we have a \n before it
62./VisualEditor/resources/tinymce/tinymce.full.js: // IE8+ rendering mode does the right thing with BR in PRE
63./VisualEditor/resources/tinymce/tinymce.full.js: // IE8 doesn't support carets behind images setting ie7_compat would force IE8+ to run in IE7 compat mode.
64./VisualEditor/resources/tiny_mce_plugins/bswikicode/plugin.js: if ( navigator.appName == 'Microsoft Internet Explorer' ) {
65./VisualEditor/resources/tiny_mce_plugins/bswikicode/plugin.js: if ( navigator.appName == 'Microsoft Internet Explorer' ) {
66./VisualEditor/resources/tiny_mce_plugins/bswikicode/plugin.js: if ( navigator.appName == 'Microsoft Internet Explorer' ) {
67./VisualEditor/resources/tinymce/plugins/autolink/plugin.js: // Internet Explorer has built-in automatic linking for most cases
68./InsertFile/resources/bluespice.insertFile.js: //Internet Explorer sometimes throws exceptions when
69
70=============== BlueSpiceFoundation
71./resources/extjs/ext-all-debug.js: isIE8 = isIE && ((check(/msie 8/) && docMode != 7 && docMode != 9 && docMode != 10) || docMode == 8),
72./resources/extjs/ext-all-debug.js: removeNode : isIE6 || isIE7 || isIE8
73./resources/extjs/ext-all-debug.js: if (isIE8 && n.parentNode) {
74./resources/extjs/ext-all-debug.js: isIEQuirks: isIE && (!isStrict && (isIE6 || isIE7 || isIE8 || isIE9)),
75./resources/extjs/ext-all-debug.js: isIE8 : isIE8,
76./resources/extjs/ext-all-debug.js: isIE8m : isIE6 || isIE7 || isIE8,
77./resources/extjs/ext-all-debug.js: isIE8p : isIE && !(isIE6 || isIE7),
78./resources/extjs/ext-all-debug.js: isIE9m : isIE6 || isIE7 || isIE8 || isIE9,
79./resources/extjs/ext-all-debug.js: isIE9p : isIE && !(isIE6 || isIE7 || isIE8),
80./resources/extjs/ext-all-debug.js: isIE10m : isIE6 || isIE7 || isIE8 || isIE9 || isIE10,
81./resources/extjs/ext-all-debug.js: isIE10p : isIE && !(isIE6 || isIE7 || isIE8 || isIE9),
82./resources/extjs/ext-all-debug.js: 'IE8-quirks': [0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,1,0,1,0,0,0],
83./resources/extjs/ext-all-debug.js: 'IE8-strict': [0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,1,0,1,0,0,1],
84./resources/extjs/ext-all-debug.js: var browser = Ext.isIE6 ? 'IE6' : Ext.isIE7 ? 'IE7' : Ext.isIE8 ? 'IE8' :
85./resources/extjs/ext-all-debug.js: if (Ext.isIE6 || Ext.isIE7 || Ext.isIE8) {
86./resources/extjs/ext-all-debug.js: if (Ext.isIE8) {
87./resources/extjs/ext-all-debug.js: if (Ext.isIE8m) {
88./resources/extjs/ext-all-debug.js: if (Ext.isIE7 || Ext.isIE8) {
89./resources/extjs/ext-all-debug.js: useIndex: Ext.isIE8m,
90./resources/extjs/ext-all-debug.js: useDocForId = !Ext.isIE8m,
91./resources/extjs/ext-all-debug.js: if (Ext.isIEQuirks || Ext.isIE8m) {
92./resources/extjs/ext-all-debug.js: if (((Ext.isIE8 && Ext.isStrict) ||
93./resources/extjs/ext-all-debug.js: needsInnerCtPaddingHeight = !Ext.isIE8;
94./resources/extjs/ext-all-debug.js: if (Ext.isStrict && Ext.isIE8) {
95./resources/extjs/ext-all-debug.js: ownerContext[names.invalidateScrollY] = Ext.isStrict && Ext.isIE8;
96./resources/extjs/ext-all-debug.js: ownerContext[names.invalidateScrollX] = Ext.isStrict && Ext.isIE8;
97./resources/extjs/ext-all-debug.js: if (Ext.isIE8m && barAttr.y > floorY) {
98./resources/extjs/ext-all-debug.js: if (Ext.isIEQuirks || Ext.isIE8m) {
99./resources/extjs/ext-all-debug.js: ieBug = Ext.isStrict && Ext.isIE8m,
100./resources/extjs/ext-all-debug.js: if (Ext.isIE8 && Ext.isStrict) {
101./resources/extjs/ext-all-debug.js: } else if (Ext.isIEQuirks && (Ext.isIE8 || Ext.isIE9)) {
102./resources/extjs/ext-all-debug.js: oldIE = Ext.isIE8m;
103./resources/extjs/ext-all-debug.js: if (Ext.isIE8m || (Ext.isIE9 && !Ext.isStrict)) {
104./resources/extjs/ext-all-debug.js: Ext.isIE8m || Ext.isIEQuirks ? 'rect(-1000px auto 1000px auto)' : 'auto'
105./resources/extjs/ext-all-debug.js: if (!Ext.isIE8 || !Ext.isStrict) {
106./resources/extjs/ext-all-debug.js: ((Ext.isIEQuirks || Ext.isIE8m) ?
107./resources/extjs/ext-all-debug.js: if (me.orientation === 'vertical' && (Ext.isIE8 || Ext.isIE9) && Ext.isStrict) {
108./resources/extjs/ext-all-debug.js: if (me.orientation === 'vertical' && (Ext.isIE8 || Ext.isIE9) && Ext.isStrict) {
109./resources/extjs/ext-all-debug.js: me.oldIEMode = Ext.isIE7m || !Ext.isStrict && Ext.isIE8;
110./resources/extjs/plugins/flash/swfobject.js: ie = false; // cascaded feature detection for Internet Explorer
111./resources/extjs/plugins/flash/swfobject.js: ie = true; // cascaded feature detection for Internet Explorer
112./resources/extjs/plugins/flash/swfobject.js: - Internet Explorer workaround based on Diego Perini's solution: http://javascript.nwbox.com/IEContentLoaded/
113./resources/extjs/plugins/flash/swfobject.js: /* Detect the Flash Player version for non-Internet Explorer browsers
114./resources/extjs/plugins/flash/swfobject.js: if (ua.ie && ua.win) { // Internet Explorer + the HTML object element + W3C DOM methods do not combine: fall back to outerHTML
115./resources/extjs/plugins/flash/swfobject.js: - Especially needed to safely and completely remove a SWF in Internet Explorer
116./resources/extjs/plugins/flash/swfobject.js: /* Updated attachEvent function for Internet Explorer
117./resources/extjs/plugins/flash/swfobject.js: /* Release memory to avoid memory leaks caused by closures, fix hanging audio/video threads and force open sockets/NetConnections to disconnect (Internet Explorer only)
118
119=============== Cargo
120./libs/DataTables/js/jquery.dataTables.js: var val = !this.value ? "" : this.value; // mental IE8 fix :-(
121./libs/DataTables/js/jquery.dataTables.js: var tmpTable = $(table).clone() // don't use cloneNode - IE8 will remove events on the main table
122./libs/fullcalendar.js: copyNativeMethods(members, subClass.prototype); // hack for IE8
123./libs/fullcalendar.js: // for IE8 bug-fighting behavior, for now
124./libs/fullcalendar.js: // remove a mousedown'd <a>'s href so it is not visited (IE8 bug)
125./libs/fullcalendar.js: // restore a mousedown'd <a>'s href (for IE8 bug)
126./libs/fullcalendar.js: this.sourceEl.width(); // hack to force IE8 to compute correct bounding box
127./libs/fullcalendar.js: this.sourceEl.width(); // hack to force IE8 to compute correct bounding box
128./libs/fullcalendar.js: // In IE8, a helper element will disappears if there's a filter.
129./libs/fullcalendar.js: // with rowspans>1 and IE8, trEl.outerHeight() would return the height of the largest cell,
130./libs/fullcalendar.js: // fuckin IE8/9/10/11 sometimes returns 0 for dimensions. this weird hack was the only thing that worked
131./libs/fullcalendar.js: // B) in IE8, this causes a flash whenever events are rerendered
132./libs/fullcalendar.js: // B) in IE8, this causes a flash whenever events are rerendered
133./libs/nv.d3.js:// Note: in IE8 console.log is an object not a function, and if modernizr is used
134./libs/markerclusterer.js: * errors on Internet Explorer. Note that the name of the <code>clusterclick</code> event has been
135./libs/markerclusterer.js: * Internet Explorer (for Internet Explorer, use the batchSizeIE property instead).
136./libs/markerclusterer.js: * @property {number} [batchSizeIE=MarkerClusterer.BATCH_SIZE_IE] When Internet Explorer is
137./libs/DataTables/js/jquery.dataTables.js: * ['Trident', 'Internet Explorer 4.0', 'Win 95+', 4, 'X'],
138./libs/DataTables/js/jquery.dataTables.js: * ['Trident', 'Internet Explorer 5.0', 'Win 95+', 5, 'C'],
139./libs/DataTables/js/jquery.dataTables.js: * "browser": "Internet Explorer 4.0",
140./libs/DataTables/js/jquery.dataTables.js: * "browser": "Internet Explorer 5.0",
141./libs/nv.d3.js: D3.js (or maybe SVG.getScreenCTM) has a nasty bug in Internet Explorer 10.
142
143=============== CentralNotice
144./resources/subscribing/ext.centralNotice.display.state.js: // Note: Object.keys() not available in IE8
145./resources/subscribing/ext.centralNotice.display.state.js: // mixin easy in IE8, too
146
147=============== CodeEditor
148./modules/ace/worker-javascript.js: W002: "Value of '{a}' may be overwritten in IE 8 and earlier.",
149./modules/ext.codeEditor.js: * - IE 8.0.6001.18702 / Win XP: some newlines mysteriously removed, corrupting data;
150./modules/ace/worker-lua.js: } else {//IE8
151./modules/ace/worker-css.js: browsers: "IE6,IE7,IE8",
152./modules/ace/worker-css.js: } else {//IE8
153./modules/ace/worker-html.js: } else {//IE8
154./modules/ace/worker-coffee.js: } else {//IE8
155./modules/ace/ace.js: } else {//IE8
156./modules/ace/ace.js:var isIE8;
157./modules/ace/ace.js: if (isIE8 === undefined)
158./modules/ace/ace.js: isIE8 = !("opacity" in this.element.style);
159./modules/ace/ace.js: this.$updateCursors = (isIE8
160./modules/ace/ace.js: if (smoothBlinking != this.smoothBlinking && !isIE8) {
161./modules/ace/worker-xquery.js: } else {//IE8
162./modules/ace/worker-xml.js: } else {//IE8
163./modules/ace/worker-php.js: } else {//IE8
164./modules/ace/worker-json.js: } else {//IE8
165./modules/ace/worker-javascript.js: } else {//IE8
166./modules/ace/worker-css.js: reporter.report("You have " + count + " selectors. Internet Explorer supports a maximum of 4095 selectors per stylesheet. Consider refactoring.",0,0,rule);
167./modules/ace/worker-css.js: reporter.report("You have " + count + " selectors. Internet Explorer supports a maximum of 4095 selectors per stylesheet. Consider refactoring.",0,0,rule);
168./modules/ace/worker-html.js: "-//microsoft//dtd internet explorer 2.0 html strict//",
169./modules/ace/worker-html.js: "-//microsoft//dtd internet explorer 2.0 html//",
170./modules/ace/worker-html.js: "-//microsoft//dtd internet explorer 2.0 tables//",
171./modules/ace/worker-html.js: "-//microsoft//dtd internet explorer 3.0 html strict//",
172./modules/ace/worker-html.js: "-//microsoft//dtd internet explorer 3.0 html//",
173./modules/ace/worker-html.js: "-//microsoft//dtd internet explorer 3.0 tables//",
174./modules/ace/ace.js: (navigator.appName == "Microsoft Internet Explorer" || navigator.appName.indexOf("MSAppHost") >= 0)
175
176=============== CodeMirror
177./resources/lib/codemirror/lib/codemirror.js: // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8).
178./resources/lib/codemirror/lib/codemirror.js: // A bug in IE8 can cause this value to be negative, so guard it.
179./resources/lib/codemirror/lib/codemirror.js: catch (e) {} // IE8 will throw if the textarea is display: none or not in DOM
180./resources/lib/codemirror/addon/runmode/runmode.js: // Emitting LF or CRLF on IE8 or earlier results in an incorrect display.
181
182=============== ExtTab
183./scripts/extjs/adapter/yui/ext-yui-adapter.js
184./scripts/extjs/adapter/ext/ext-base.js
185./scripts/extjs/adapter/prototype/ext-prototype-adapter.js
186./scripts/extjs/adapter/jquery/ext-jquery-adapter.js
187./scripts/extjs/ext-all.js
188
189=============== Flow
190./modules/messagePoster/ext.flow.messagePoster.js: // IE 8 seems to have cached some POST requests without this
191./modules/engine/misc/mw-ui.enhance.js: // and paste) when we drop IE 8.
192./vendor/modules/Storer.js: * A hack for IE8's inability to extend a class with Storage. We use a DOM property getter to apply length.
193./vendor/modules/Storer.js: } catch (e) { return null; } // IE8 throws an exception on nonexistent keys
194./modules/engine/misc/flow-api.js: // IE8 caches POST under some conditions, prevent that here.
195./modules/engine/misc/flow-api.js: // IE8 is most likely the only browser we support that doesn't
196./vendor/modules/Storer.js: * This is necessary because the Internet Explorer fallback for localStorage is userData, which needs to be able to
197./vendor/modules/Storer.js: * for Internet Explorer's userData storage, which requires domReady to begin.
198./vendor/modules/Storer.js: // Internet Explorer 8 does not inherit the prototype here. We can hack around it using a DOM object
199./vendor/modules/Storer.js: // Internet Explorer 8 does not inherit the prototype here. We can hack around it using a DOM object
200
201=============== GettingStarted
202./resources/lightbulb/lightbulb.logging.js: * * middle and ctrl-clicks in IE8-11, and
203
204=============== Kartographer
205./lib/mapbox/mapbox-lib.js: // IE8-9
206./lib/mapbox/mapbox-lib.js: * Extends L.DomEvent to provide touch support for Internet Explorer and Windows-based devices.
207
208=============== LifeWebCore
209./resources/script/jquery-1.10.2.js: // IE 8 doesn't work on object elements
210./resources/script/jquery-1.10.2.js: // IE8,9 Will throw exceptions on certain host objects #9897
211./resources/script/jquery-1.10.2.js: // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans)
212./resources/script/jquery-1.10.2.js: // We allow this because of a bug in IE8/9 that throws an error
213./resources/script/jquery-1.10.2.js: // Support: IE8
214./resources/script/jquery-1.10.2.js: // IE8 throws error here and will not see later tests
215./resources/script/jquery-1.10.2.js: // Support: Opera 10-12/IE8
216./resources/script/jquery-1.10.2.js: // IE8 throws error here and will not see later tests
217./resources/script/jquery-1.10.2.js: // Support: IE8
218./resources/script/jquery-1.10.2.js: // Support: IE8
219./resources/script/jquery-1.10.2.js: // only reproducible on winXP IE8 native, not IE9 in IE8 mode
220./resources/script/jquery-1.10.2.js: * Additionally XMLHttpRequest can be disabled in IE7/IE8 so
221./resources/script/jquery-1.10.2.js: // We use execScript on Internet Explorer
222./resources/script/jquery-1.10.2.js: // #5280: Internet Explorer will keep connections alive if we don't abort on unload
223./resources/script/i18next-1.6.3.js: // In Internet Explorer check for ActiveX versions of the XHR object.
224
225=============== LinkedWiki
226./js/FlintSparqlEditor/sparql/lib/jquery-migrate-1.0.0.js: // IE8 is a dope about Object.defineProperty, can't warn there
227
228=============== MobileFrontend
229./resources/mobile.startup/View.js: * `blur`, and not `change`, `submit`, and `reset` in Internet Explorer.
230
231=============== MultimediaViewer
232./resources/jquery.hashchange/jquery.hashchange.js:// 1.1 - (1/21/2010) Incorporated document.documentMode test to fix IE8 bug
233./resources/jquery.hashchange/jquery.hashchange.js:// Browsers Tested - Internet Explorer 6-8, Firefox 2-4, Chrome 5-6, Safari 3.2-5,
234
235=============== PageForms
236./libs/jquery.dynatree.js: // fix for IE8, where window.console.log() exists, but does not support .apply()
237./libs/select2.js: // IE8-10
238
239=============== PagesList
240./modules/DataTables/media/js/jquery.dataTables.js: var val = !this.value ? "" : this.value; // mental IE8 fix :-(
241./modules/DataTables/media/js/jquery.dataTables.js: var tmpTable = $(table).clone() // don't use cloneNode - IE8 will remove events on the main table
242./modules/DataTables/media/js/jquery.dataTables.js: * ['Trident', 'Internet Explorer 4.0', 'Win 95+', 4, 'X'],
243./modules/DataTables/media/js/jquery.dataTables.js: * ['Trident', 'Internet Explorer 5.0', 'Win 95+', 5, 'C'],
244./modules/DataTables/media/js/jquery.dataTables.js: * "browser": "Internet Explorer 4.0",
245./modules/DataTables/media/js/jquery.dataTables.js: * "browser": "Internet Explorer 5.0",
246./modules/DataTables/media/unit_testing/tests_onhold/6_delayed_rendering/_zero_config.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
247./modules/DataTables/media/unit_testing/tests_onhold/3_ajax/_zero_config.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
248./modules/DataTables/media/unit_testing/tests_onhold/2_js/_zero_config.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
249./modules/DataTables/media/unit_testing/tests_onhold/2_js/js_data_mixed_types.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
250./modules/DataTables/media/unit_testing/tests_onhold/1_dom/_zero_config.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
251./modules/DataTables/media/unit_testing/tests_onhold/1_dom/2746-stable-sort.js: $('#example tbody tr:eq(1) td:eq(1)').html() == 'Internet Explorer 7' &&
252./modules/DataTables/media/unit_testing/tests_onhold/1_dom/th_in_body.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
253./modules/DataTables/media/unit_testing/tests_onhold/1_dom/2530.js: ['','Internet Explorer 4.0','Win 95+','4','X'],
254./modules/DataTables/media/unit_testing/tests_onhold/1_dom/2530.js: ['','Internet Explorer 5.0','Win 95+','5','C']
255./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_arrays_subobjects.js: "Internet Explorer 4.0",
256./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_arrays_subobjects.js: "Internet Explorer 5.0",
257./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_arrays_subobjects.js: "Internet Explorer 5.5",
258./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_arrays_subobjects.js: "Internet Explorer 6",
259./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_arrays_subobjects.js: "Internet Explorer 7",
260./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_arrays_subobjects.js: "Internet Explorer 4.5",
261./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_arrays_subobjects.js: "Internet Explorer 5.1",
262./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_arrays_subobjects.js: "Internet Explorer 5.2",
263./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_arrays_subobjects.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
264./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config.js: "browser": "Internet Explorer 4.0",
265./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config.js: "browser": "Internet Explorer 5.0",
266./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config.js: "browser": "Internet Explorer 5.5",
267./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config.js: "browser": "Internet Explorer 6",
268./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config.js: "browser": "Internet Explorer 7",
269./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config.js: "browser": "Internet Explorer 4.5",
270./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config.js: "browser": "Internet Explorer 5.1",
271./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config.js: "browser": "Internet Explorer 5.2",
272./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
273./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_mDataProp.js: "browser": "Internet Explorer 4.0",
274./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_mDataProp.js: "browser": "Internet Explorer 5.0",
275./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_mDataProp.js: "browser": "Internet Explorer 5.5",
276./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_mDataProp.js: "browser": "Internet Explorer 6",
277./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_mDataProp.js: "browser": "Internet Explorer 7",
278./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_mDataProp.js: "browser": "Internet Explorer 4.5",
279./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_mDataProp.js: "browser": "Internet Explorer 5.1",
280./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_mDataProp.js: "browser": "Internet Explorer 5.2",
281./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_mDataProp.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
282./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_deep.js: "browser": "Internet Explorer 4.0",
283./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_deep.js: "browser": "Internet Explorer 5.0",
284./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_deep.js: "browser": "Internet Explorer 5.5",
285./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_deep.js: "browser": "Internet Explorer 6",
286./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_deep.js: "browser": "Internet Explorer 7",
287./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_deep.js: "browser": "Internet Explorer 4.5",
288./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_deep.js: "browser": "Internet Explorer 5.1",
289./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_deep.js: "browser": "Internet Explorer 5.2",
290./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_deep.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
291./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_null_source.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
292./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects_subarrays.js: "browser": "Internet Explorer 4.0",
293./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects_subarrays.js: "browser": "Internet Explorer 5.0",
294./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects_subarrays.js: "browser": "Internet Explorer 5.5",
295./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects_subarrays.js: "browser": "Internet Explorer 6",
296./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects_subarrays.js: "browser": "Internet Explorer 7",
297./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects_subarrays.js: "browser": "Internet Explorer 4.5",
298./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects_subarrays.js: "browser": "Internet Explorer 5.1",
299./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects_subarrays.js: "browser": "Internet Explorer 5.2",
300./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects_subarrays.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
301./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects.js: "browser": "Internet Explorer 4.0",
302./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects.js: "browser": "Internet Explorer 5.0",
303./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects.js: "browser": "Internet Explorer 5.5",
304./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects.js: "browser": "Internet Explorer 6",
305./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects.js: "browser": "Internet Explorer 7",
306./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects.js: "browser": "Internet Explorer 4.5",
307./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects.js: "browser": "Internet Explorer 5.1",
308./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects.js: "browser": "Internet Explorer 5.2",
309./modules/DataTables/media/unit_testing/tests_onhold/5_ajax_objects/_zero_config_objects.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
310./modules/DataTables/media/unit_testing/tests_onhold/4_server-side/_zero_config.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
311./modules/DataTables/media/unit_testing/tests_onhold/4_server-side/aoColumns.bSortable.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 4.0"; }
312./modules/DataTables/media/unit_testing/tests_onhold/4_server-side/aoColumns.bSortable.js: function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 4.0"; }
313
314=============== PageTriage
315./modules/external/backbone.js: // not `change`, `submit`, and `reset` in Internet Explorer.
316
317=============== Reflect
318./client/js/reflect.js: * IE8 : ugly
319
320=============== RevisionSlider
321./modules/ext.RevisionSlider.DiffPage.js: // IE8 and IE9 do not have history.pushState()
322./modules/ext.RevisionSlider.DiffPage.js: // IE8 and IE9 do not have history.pushState()
323
324=============== SemanticImageAnnotator
325./scripts/jquery.draw.js:Performance optimizations for Internet Explorer
326
327=============== SemanticPageMaker
328./scripts/wysiwyg/ckeditor/_source/core/tools.js: // #3785 IE8 changes spaces (>= 2) to &nbsp;
329./scripts/wysiwyg/ckeditor/_source/core/dom/text.js: // IE BUG: IE8 does not update the childNodes array in DOM after splitText(),
330./scripts/wysiwyg/ckeditor/_source/core/env.js: * alert( "I'm on IE8!" );
331./scripts/wysiwyg/ckeditor/_source/core/env.js: * alert( "Now I'm on IE8, for real!" );
332./scripts/wysiwyg/ckeditor/_source/core/env.js: * includes IE7 itself and IE8's IE7 document mode.
333./scripts/wysiwyg/ckeditor/_source/core/env.js: * alert( "I'm on IE7 or on an IE7 like IE8!" );
334./scripts/wysiwyg/ckeditor/_source/core/env.js: * includes IE6 itself and IE7 and IE8 quirks mode.
335./scripts/wysiwyg/ckeditor/_source/plugins/floatpanel/plugin.js: // For IE8, there is not much logic on this, but it works.
336./scripts/wysiwyg/ckeditor/_source/plugins/wysiwygarea/plugin.js: // Delete any element that 'hasLayout' (e.g. hr,table) in IE8 will
337./scripts/wysiwyg/ckeditor/_source/plugins/wysiwygarea/plugin.js: // IE8 stricts mode doesn't have 'contentEditable' in effect
338./scripts/wysiwyg/ckeditor/_samples/sample.js: ie : 'Internet Explorer 6.0',
339./scripts/wysiwyg/ckeditor/_source/core/env.js: * Indicates that CKEditor is running on Internet Explorer.
340./scripts/wysiwyg/ckeditor/_source/core/env.js: // Internet Explorer 6.0+
341./scripts/wysiwyg/ckeditor/_source/core/env.js: * Indicates that CKEditor is running on Internet Explorer 8.
342./scripts/wysiwyg/ckeditor/_source/core/env.js: * Indicates that CKEditor is running on Internet Explorer 8 on
343
344=============== Sentry
345./resources/raven/raven.js: // IE8 regardless of Quirks or Standards
346./resources/raven/raven.js: // INTERNET EXPLORER:
347
348=============== SkelJS
349./tests/qunit/qunit.js: // Avoid "Member not found" error in IE8 caused by setting window.constructor
350
351=============== SoundManager2Button
352./script/soundmanager2.js: * wmode breaks IE 8 on Vista + Win7 too in some cases, as of January 2011 (?)
353
354=============== Spreadsheet
355./lib/spreadsheet-js/lib/highcharts/js/parts/VmlRenderer.js: isIE8: userAgent.indexOf('MSIE 8.0') > -1,
356./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: isIE8: userAgent.indexOf('MSIE 8.0') > -1,
357./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: isIE8: userAgent.indexOf('MSIE 8.0') > -1,
358./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.5.2.js: // (only IE 8 fails this test)
359./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.5.2.js: // IE 8 doesn't work on object elements
360./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.6.4.js: // (only IE 8 fails this test)
361./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.6.4.js: // IE 8 doesn't work on object elements
362./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.8.0.js: // (only IE 8 fails this test)
363./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.8.0.js: // IE 8 doesn't work on object elements
364./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.4.5-full-nocompat.js: // IE 8 returns closed nodes (EG:"</foo>") for querySelectorAll('*') for some documents
365./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.7.2.js: // (only IE 8 fails this test)
366./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.7.2.js: // IE 8 doesn't work on object elements
367./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.3.2-full-compat.js: // IE 8 returns closed nodes (EG:"</foo>") for querySelectorAll('*') for some documents
368./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.4.4.js: // (only IE 8 fails this test)
369./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.4.4.js: // IE 8 doesn't work on object elements
370./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.4.4.js: // Handle the case in IE 8 where action=/test/> self-closes a tag
371./lib/spreadsheet-js/lib/highcharts/samples/highcharts/demo/pie-donut/demo.js: categories: ['MSIE 6.0', 'MSIE 7.0', 'MSIE 8.0', 'MSIE 9.0'],
372./lib/spreadsheet-js/lib/highcharts/samples/highcharts/demo/column-drilldown/demo.js: categories: ['MSIE 6.0', 'MSIE 7.0', 'MSIE 8.0', 'MSIE 9.0'],
373./lib/spreadsheet-js/lib/efp/test/qunit-1.11.0.js: // Avoid "Member not found" error in IE8 caused by setting window.constructor
374./lib/spreadsheet-js/lib/highcharts/js/parts/Adapters.js: // computed by jQuery, needed by IE8
375./lib/spreadsheet-js/lib/highcharts/js/parts/Chart.js: // Width and height checks for display:none. Target is doc in IE8 and Opera,
376./lib/spreadsheet-js/lib/highcharts/js/parts/Series.js: zIndex: zIndex || 0.1 // IE8 needs this
377./lib/spreadsheet-js/lib/highcharts/js/parts/ColumnSeries.js: * invisible in IE8 standards mode. If the columns flicker on large
378./lib/spreadsheet-js/lib/highcharts/js/parts/Globals.js: * IE8: 0.002
379./lib/spreadsheet-js/lib/highcharts/js/parts/VmlRenderer.js: // IE8 Standards mode has problems retrieving the className
380./lib/spreadsheet-js/lib/highcharts/js/parts/VmlRenderer.js: if (docMode8) { // IE8 setAttribute bug
381./lib/spreadsheet-js/lib/highcharts/js/parts/VmlRenderer.js: isIE8: userAgent.indexOf('MSIE 8.0') > -1,
382./lib/spreadsheet-js/lib/highcharts/js/parts/VmlRenderer.js: // with IE8 the only way to make the dynamic shapes visible in screen and print mode
383./lib/spreadsheet-js/lib/highcharts/js/parts/VmlRenderer.js: // The fill element's color attribute is broken in IE8 standards mode, so we
384./lib/spreadsheet-js/lib/highcharts/js/parts/VmlRenderer.js: * Take a VML string and prepare it for either IE8 or IE6/IE7.
385./lib/spreadsheet-js/lib/highcharts/js/parts/VmlRenderer.js: isIE8 = this.isIE8;
386./lib/spreadsheet-js/lib/highcharts/js/parts/VmlRenderer.js: if (isIE8) { // add xmlns and style inline
387./lib/spreadsheet-js/lib/highcharts/js/parts/Scroller.js: // and IE8 isn't able to show it while dragging anyway.
388./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: * IE8: 0.002
389./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: // computed by jQuery, needed by IE8
390./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: // IE8 Standards mode has problems retrieving the className
391./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: if (docMode8) { // IE8 setAttribute bug
392./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: isIE8: userAgent.indexOf('MSIE 8.0') > -1,
393./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: // with IE8 the only way to make the dynamic shapes visible in screen and print mode
394./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: // The fill element's color attribute is broken in IE8 standards mode, so we
395./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: * Take a VML string and prepare it for either IE8 or IE6/IE7.
396./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: isIE8 = this.isIE8;
397./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: if (isIE8) { // add xmlns and style inline
398./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: // Width and height checks for display:none. Target is doc in IE8 and Opera,
399./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: zIndex: zIndex || 0.1 // IE8 needs this
400./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: * invisible in IE8 standards mode. If the columns flicker on large
401./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: // and IE8 isn't able to show it while dragging anyway.
402./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: * IE8: 0.002
403./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: // computed by jQuery, needed by IE8
404./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: // IE8 Standards mode has problems retrieving the className
405./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: if (docMode8) { // IE8 setAttribute bug
406./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: isIE8: userAgent.indexOf('MSIE 8.0') > -1,
407./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: // with IE8 the only way to make the dynamic shapes visible in screen and print mode
408./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: // The fill element's color attribute is broken in IE8 standards mode, so we
409./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: * Take a VML string and prepare it for either IE8 or IE6/IE7.
410./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: isIE8 = this.isIE8;
411./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: if (isIE8) { // add xmlns and style inline
412./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: // Width and height checks for display:none. Target is doc in IE8 and Opera,
413./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: zIndex: zIndex || 0.1 // IE8 needs this
414./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: * invisible in IE8 standards mode. If the columns flicker on large
415./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.5.2.js: * Additionally XMLHttpRequest can be disabled in IE7/IE8 so
416./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.6.4.js: // IE8,9 Will throw exceptions on certain host objects #9897
417./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.6.4.js: * Additionally XMLHttpRequest can be disabled in IE7/IE8 so
418./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.8.0.js: // IE8,9 Will throw exceptions on certain host objects #9897
419./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.8.0.js: // IE8 returns a string for some attributes even when not present
420./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.8.0.js: // IE8 - Some boolean attributes are not treated correctly
421./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.8.0.js: // IE8 throws error here (do not put tests after this one)
422./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.8.0.js: // IE8 throws error here (do not put tests after this one)
423./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.8.0.js: * Additionally XMLHttpRequest can be disabled in IE7/IE8 so
424./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.8.0.js:// Remove in 2.0 - this supports IE8's panic based approach
425./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.4.5-full-nocompat.js: /*<ltIE8>*/
426./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.4.5-full-nocompat.js: /*</ltIE8>*/
427./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.4.5-full-nocompat.js: // IE8 does not have .contains on document.
428./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.4.5-full-nocompat.js: // IE8 and IE9 require the wrapping.
429./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.4.5-full-nocompat.js:/*<ltIE8>*/
430./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.4.5-full-nocompat.js:/*</ltIE8>*/
431./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.4.5-full-nocompat.js: /*<ltIE8>*/// Fix for readonly name and type properties in IE < 8
432./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.4.5-full-nocompat.js: /*</ltIE8>*/
433./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.4.5-full-nocompat.js:/*<ltIE8>*/
434./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.4.5-full-nocompat.js:/*</ltIE8>*/
435./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.7.2.js: // IE8,9 Will throw exceptions on certain host objects #9897
436./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.7.2.js: * Additionally XMLHttpRequest can be disabled in IE7/IE8 so
437./lib/spreadsheet-js/lib/highcharts/lib/mootools-1.2.5-core-nc.js:/*<ltIE8>*/
438./lib/spreadsheet-js/lib/highcharts/lib/mootools-1.2.5-core-nc.js:/*</ltIE8>*/
439./lib/spreadsheet-js/lib/highcharts/lib/mootools-1.2.5-core-nc.js: /*<ltIE8>*/// Fix for readonly name and type properties in IE < 8
440./lib/spreadsheet-js/lib/highcharts/lib/mootools-1.2.5-core-nc.js: /*</ltIE8>*/
441./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.3.2-full-compat.js:/*<ltIE8>*/
442./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.3.2-full-compat.js:/*</ltIE8>*/
443./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.3.2-full-compat.js: /*<ltIE8>*/// Fix for readonly name and type properties in IE < 8
444./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.3.2-full-compat.js: /*</ltIE8>*/
445./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.3.2-full-compat.js:/*<ltIE8>*/
446./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.3.2-full-compat.js:/*</ltIE8>*/
447./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.4.4.js: * Additionally XMLHttpRequest can be disabled in IE7/IE8 so
448./lib/spreadsheet-js/lib/highcharts/samples/data/sizes.js
449./lib/spreadsheet-js/test/qunit-1.11.0.js: // Avoid "Member not found" error in IE8 caused by setting window.constructor
450./lib/zip/WebContent/tests/arraybuffer.js:// * Corrected Object.defineProperty shim for IE8
451./lib/spreadsheet-js/lib/highcharts/js/parts/VmlRenderer.js: * START OF INTERNET EXPLORER <= 8 SPECIFIC CODE *
452./lib/spreadsheet-js/lib/highcharts/js/parts/VmlRenderer.js: * END OF INTERNET EXPLORER <= 8 SPECIFIC CODE *
453./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: * START OF INTERNET EXPLORER <= 8 SPECIFIC CODE *
454./lib/spreadsheet-js/lib/highcharts/js/highstock.src.js: * END OF INTERNET EXPLORER <= 8 SPECIFIC CODE *
455./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: * START OF INTERNET EXPLORER <= 8 SPECIFIC CODE *
456./lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js: * END OF INTERNET EXPLORER <= 8 SPECIFIC CODE *
457./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.5.2.js:// The DOM ready check for Internet Explorer
458./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.5.2.js: // Fails in Internet Explorer
459./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.5.2.js:// #5280: Internet Explorer will keep connections alive if we don't abort on unload
460./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.6.4.js: // We use execScript on Internet Explorer
461./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.6.4.js:// The DOM ready check for Internet Explorer
462./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.6.4.js: // Fails in Internet Explorer
463./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.6.4.js:var // #5280: Internet Explorer will keep connections alive if we don't abort on unload
464./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.8.0.js: // We use execScript on Internet Explorer
465./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.8.0.js: // Fails in Internet Explorer
466./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.8.0.js: // #5280: Internet Explorer will keep connections alive if we don't abort on unload
467./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.4.5-full-nocompat.js: - Flash detection & Internet Explorer + Flash Player 9 fix inspired by SWFObject.
468./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.7.2.js: // We use execScript on Internet Explorer
469./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.7.2.js:// The DOM ready check for Internet Explorer
470./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.7.2.js: // Fails in Internet Explorer
471./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.7.2.js:var // #5280: Internet Explorer will keep connections alive if we don't abort on unload
472./lib/spreadsheet-js/lib/highcharts/lib/mootools-1.2.5-core-nc.js:credits: Flash detection & Internet Explorer + Flash Player 9 fix inspired by SWFObject.
473./lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.3.2-full-compat.js: - Flash detection & Internet Explorer + Flash Player 9 fix inspired by SWFObject.
474./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.4.4.js:// The DOM ready check for Internet Explorer
475./lib/spreadsheet-js/lib/highcharts/lib/jquery-1.4.4.js: // Fails in Internet Explorer
476
477=============== ThemeDesigner
478./frame/designer.js: // IE7 and before don't support them. And IE8 has size limitations.
479
480=============== TimedMediaHandler
481./resources/videojs/video.js: * Firefox < 10, compatibility modes of IE 8, and IE < 9 have buggy Array
482./resources/videojs/video.js: * set to `0`. The `shift()` method is buggy in compatibility modes of IE 8,
483./resources/videojs/video.js: * IE < 8 can't access characters by index. IE 8 can only access characters
484./resources/videojs/video.js: } catch (e) { /* this is IE 8. */
485./resources/videojs/ie8/videojs-ie8.js: // applies in IE 8, for one.
486./MwEmbedModules/EmbedPlayer/resources/mw.EmbedPlayer.js: // stream based on user agent ( i.e IE8 h.264 file, blackberry 3gp file etc )
487./resources/videojs/video.js: // do not support `background-size` (e.g. IE8), fall back on using a regular
488./resources/videojs/video.js: // One day, when we stop supporting IE8, go back to this, but in the meantime...*hack hack hack*
489./resources/videojs/video.js: // Because IE8 doesn't support calling slice on a node list, we need to loop
490./resources/videojs/video.js: // IE8 forces us to implement inheritance ourselves
491./resources/videojs/video.js: if (browser.IS_IE8) {
492./resources/videojs/video.js: // on IE8 this will be a document element
493./resources/videojs/video.js: if (browser.IS_IE8) {
494./resources/videojs/video.js: if (browser.IS_IE8) {
495./resources/videojs/video.js: if (browser.IS_IE8) {
496./resources/videojs/video.js: if (browser.IS_IE8) {
497./resources/videojs/video.js: if (browser.IS_IE8) {
498./resources/videojs/video.js: if (browser.IS_IE8) {
499./resources/videojs/video.js: if (browser.IS_IE8) {
500./resources/videojs/video.js: * Some style changes will throw an error, particularly in IE8. Those should be noops.
501./resources/videojs/video.js: // IE8 forces us to implement inheritance ourselves
502./resources/videojs/video.js: if (browser.IS_IE8) {
503./resources/videojs/video.js: // on IE8 this will be a document element
504./resources/videojs/video.js: if (browser.IS_IE8) {
505./resources/videojs/video.js: if (browser.IS_IE8) {
506./resources/videojs/video.js: if (browser.IS_IE8) {
507./resources/videojs/video.js: // IE8 forces us to implement inheritance ourselves
508./resources/videojs/video.js: if (browser.IS_IE8) {
509./resources/videojs/video.js: // on IE8 this will be a document element
510./resources/videojs/video.js: if (browser.IS_IE8) {
511./resources/videojs/video.js:exports.BACKGROUND_SIZE_SUPPORTED = exports.TOUCH_ENABLED = exports.IE_VERSION = exports.IS_IE8 = exports.IS_CHROME = exports.IS_EDGE = exports.IS_FIREFOX = exports.IS_NATIVE_ANDROID = exports.IS_OLD_ANDROID = exports.ANDROID_VERSION = exports.IS_ANDROID = exports.IOS_VERSION = exports.IS_IOS = exports.IS_IPOD = exports.IS_IPHONE = exports.IS_IPAD = undefined;
512./resources/videojs/video.js:var IS_IE8 = exports.IS_IE8 = /MSIE\s8\.0/.test(USER_AGENT);
513./resources/videojs/video.js: // IE8 Doesn't like when you mess with native event properties
514./resources/videojs/video.js: // we still want to if preventDefault isn't supported (IE8).
515./resources/videojs/video.js: // IE8 (and 9?) Fix
516./resources/videojs/video.js: // This is also needed for IE8 because the anchor loses its
517./resources/videojs/video.js: // IE8 protocol relative urls will return ':' for protocol
518./resources/videojs/video.js: // IE8 doesn't know location.origin, so we won't rely on it here
519./resources/videojs/video.js:// HTML5 Element Shim for IE8
520./resources/videojs/video.js: //IE8 CORS GET successful response doesn't have a status field, but body is fine
521./resources/videojs/video.js: // IE8 and below
522./resources/videojs/video.js: var isIE8 = (/MSIE\s8\.0/).test(navigator.userAgent);
523./resources/videojs/video.js: if (isIE8) {
524./resources/videojs/video.js: if (isIE8) {
525./resources/videojs/video.js: var isIE8 = (/MSIE\s8\.0/).test(navigator.userAgent);
526./resources/videojs/video.js: if (isIE8) {
527./resources/videojs/video.js: if (!isIE8) {
528./resources/videojs/video.js: if (!isIE8) {
529./resources/videojs/video.js: var isIE8 = (/MSIE\s8\.0/).test(navigator.userAgent);
530./resources/videojs/video.js: if (isIE8 && !this.lineHeight) {
531./resources/videojs/ie8/videojs-ie8.js: * HTML5 Element Shim for IE8
532./resources/videojs/ie8/videojs-ie8.js: * Video.js uses the video tag as an embed code, even in IE8 which
533./resources/videojs/ie8/videojs-ie8.js: * to make it possible to use the video tag. Otherwise IE8 ignores everything
534./resources/videojs/ie8/videojs-ie8.js: // This supports IE8 when document.domain is used
535./resources/videojs/ie8/videojs-ie8.js:// Patch for WebKit and IE8 standard mode
536./resources/videojs/ie8/videojs-ie8.js:// IE8 Reference:
537./MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv-support.js: // Internet Explorer 10/11. Other browsers use Web Audio directly
538./MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv.js: // Internet Explorer 10/11. Other browsers use Web Audio directly
539./MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv.js: * Currently only checks for the ActiveX Flash plugin for Internet Explorer,
540./MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv.js: // Internet Explorer 10/11. Other browsers use Web Audio directly
541
542=============== Translate
543./resources/js/jquery.autosize.js: // Do nothing in Node.js environment and IE8 (or lower)
544
545=============== UniversalLanguageSelector
546./lib/jquery.ime/jquery.ime.js: // IE8 and lower
547
548=============== UploadWizard
549./resources/mw.UploadWizardUpload.js: // * (Internet Explorer / Edge) Not enough storage is available to complete this operation.
550./resources/mw.UploadWizardUpload.js: // * (Internet Explorer / Edge) Unspecified error.
551./resources/mw.UploadWizardUpload.js: // * (Internet Explorer / Edge) The GPU device instance has been suspended. Use GetDeviceRemovedReason to determine the appropriate action.
552./resources/mw.UploadWizardUpload.js: // On Internet Explorer 10-11 and Edge, this occasionally causes an exception (possibly
553
554=============== VIKI
555./VIKI.js: * Internet Explorer doesn't define console.log unless the console is active.
556
557=============== VirtualKeyboard
558./modules/VirtualKeyboard.full.3.7.2/extensions/eventmanager.js: case 187: return 61; // InternetExplorer
559
560=============== VisualEditor
561./lib/ve/lib/classList/classList.js: } catch (ex) { // IE 8 doesn't support enumerable:true
562./lib/ve/lib/oojs/oojs.jquery.js: // by IE 8 and below (bug 63303).
563./lib/ve/lib/jquery/jquery.js: // IE 8 doesn't work on object elements
564./modules/ve-mw/tests/init/targets/ve.init.mw.DesktopArticleTarget.test.js: userAgent: 'Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0)',
565./lib/ve/lib/dompurify/purify.js: // Not available in IE8, Safari 5, etc.
566./lib/ve/lib/jquery/jquery.js: // IE8,9 Will throw exceptions on certain host objects #9897
567./lib/ve/lib/jquery/jquery.js: // (excepting IE8 booleans)
568./lib/ve/lib/jquery/jquery.js: // We allow this because of a bug in IE8/9 that throws an error
569./lib/ve/lib/jquery/jquery.js: // Support: IE8, Opera 11-12.16
570./lib/ve/lib/jquery/jquery.js: // Support: IE8
571./lib/ve/lib/jquery/jquery.js: // IE8 throws error here and will not see later tests
572./lib/ve/lib/jquery/jquery.js: // Support: IE8
573./lib/ve/lib/jquery/jquery.js: // IE8 throws error here and will not see later tests
574./lib/ve/lib/jquery/jquery.js: // only reproducible on winXP IE8 native, not IE9 in IE8 mode
575./lib/ve/lib/jquery/jquery.js: // Support: IE8
576./lib/ve/lib/jquery/jquery.js: // Support: IE8 only
577./modules/ve-mw/tests/init/targets/ve.init.mw.DesktopArticleTarget.test.js: msg: 'IE8',
578./lib/ve/lib/jquery/jquery.js: // We use execScript on Internet Explorer
579./lib/ve/tests/ce/imetests/input-ie9-win7-korean.js: * VisualEditor IME test for Internet Explorer on Windows in Korean.
580./lib/ve/tests/ce/imetests/input-ie9-win7-welsh.js: * VisualEditor IME test for Internet Explorer on Windows in Welsh.
581./lib/ve/tests/ce/imetests/backspace-ie9-win7-none.js: * VisualEditor IME backspace test for Internet Explorer on Windows.
582./lib/ve/tests/ce/imetests/input-ie9-win7-greek.js: * VisualEditor IME test for Internet Explorer on Windows in Greek.
583./lib/ve/tests/ce/imetests/leftarrow-ie9-win7-none.js: * VisualEditor IME left arrow test for Internet Explorer on Windows.
584./lib/ve/tests/ce/imetests/input-ie9-win7-chinese-traditional-handwriting.js: * VisualEditor IME test for Internet Explorer on Windows in Taditional Chinese Handwriting.
585./lib/ve/tests/ce/imetests/input-ie11-win8.1-korean.js: * VisualEditor IME test for Internet Explorer on Windows in Korean.
586./lib/ve/src/ui/inspectors/ve.ui.FragmentInspector.js: // Add a 0ms timeout before doing anything. Because... Internet Explorer :(
587./lib/ve/src/ve.utils.js: * normalization bugs in Internet Explorer, use #parseXhtml and #serializeXhtml.
588./lib/ve/src/init/ve.init.Platform.js: * Check whether we are running in Internet Explorer.
589./lib/ve/src/init/ve.init.Platform.js:ve.init.Platform.static.isInternetExplorer = function () {
590./lib/ve/src/init/ve.init.Target.js: var isIe = ve.init.platform.constructor.static.isInternetExplorer(),
591./lib/ve/src/ce/ve.ce.Surface.js: if ( e.originalEvent.detail >= 3 && !ve.init.platform.constructor.static.isInternetExplorer() ) {
592
593=============== WikEdDiff
594./modules/ext.wikEdDiff.js: * Code for use in non-jQuery environments and legacy browsers (at least IE 8 compatible).
595
596=============== Wikibase
597./view/resources/wikibase/templates.js: // ignore case since IE8 will convert tag names to upper case
598./view/resources/wikibase/templates.js: // back-references in IE8).
599./view/resources/wikibase/templates.js: // However, it does not work in IE8 and may cause errors for certain DOM structures in other
600./view/resources/wikibase/templates.js: continue; // omit white space between tag and text (IE8)
601./view/resources/wikibase/templates.js: // Strip line breaks inserted by IE8 that are not stripped by the regular expression
602./view/resources/wikibase/templates.js: // We are not interested in letter case and since IE8 is causing problems due to having
603./view/resources/wikibase/templates.js: * Returns the parsed plain template. (Overridden due to IE8 returning objects instead of
604./lib/resources/jquery.wikibase/jquery.wikibase.wbtooltip.js: // The DOM content needs to be cloned since IE8 will lose the reference to the DOM content
605./view/resources/jquery/ui/jquery.ui.tagadata.js: // T136543: Setting dir to "auto" must use attr in Internet Explorer.
606
607=============== WikibaseJavaScriptApi
608./src/getLocationAgnosticMwApi.js: // Internet Explorer returns an incomplete host (without port) when the protocol is missing.
609
610=============== Wikidata
611./vendor/data-values/javascript/lib/jquery/jquery.js: // (only IE 8 fails this test)
612./vendor/data-values/javascript/lib/jquery/jquery.js: // IE 8 doesn't work on object elements
613./extensions/ValueView/src/jquery.valueview.Expert.js: if ( !( viewPortNode.nodeType ) ) { // IE8 can't check for instanceof HTMLElement
614./extensions/Wikibase/view/resources/wikibase/templates.js: // ignore case since IE8 will convert tag names to upper case
615./extensions/Wikibase/view/resources/wikibase/templates.js: // back-references in IE8).
616./extensions/Wikibase/view/resources/wikibase/templates.js: // However, it does not work in IE8 and may cause errors for certain DOM structures in other
617./extensions/Wikibase/view/resources/wikibase/templates.js: continue; // omit white space between tag and text (IE8)
618./extensions/Wikibase/view/resources/wikibase/templates.js: // Strip line breaks inserted by IE8 that are not stripped by the regular expression
619./extensions/Wikibase/view/resources/wikibase/templates.js: // We are not interested in letter case and since IE8 is causing problems due to having
620./extensions/Wikibase/view/resources/wikibase/templates.js: * Returns the parsed plain template. (Overridden due to IE8 returning objects instead of
621./extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.wbtooltip.js: // The DOM content needs to be cloned since IE8 will lose the reference to the DOM content
622./vendor/data-values/data-types/js/lib/qunit/qunit.js: // Avoid "Member not found" error in IE8 caused by messing with window.constructor
623./vendor/data-values/javascript/lib/require/require.js: //in IE8, node.attachEvent does not have toString()
624./vendor/data-values/javascript/lib/qunit/qunit.js: // Avoid "Member not found" error in IE8 caused by messing with window.constructor
625./vendor/data-values/javascript/lib/jquery/jquery.js: // IE8,9 Will throw exceptions on certain host objects #9897
626./vendor/data-values/javascript/lib/jquery/jquery.js: // IE8 returns a string for some attributes even when not present
627./vendor/data-values/javascript/lib/jquery/jquery.js: // IE8 - Some boolean attributes are not treated correctly
628./vendor/data-values/javascript/lib/jquery/jquery.js: // IE8 throws error here (do not put tests after this one)
629./vendor/data-values/javascript/lib/jquery/jquery.js: // IE8 throws error here (do not put tests after this one)
630./vendor/data-values/javascript/lib/jquery/jquery.js: * Additionally XMLHttpRequest can be disabled in IE7/IE8 so
631./vendor/data-values/javascript/lib/jquery/jquery.js:// Remove in 2.0 - this supports IE8's panic based approach
632./extensions/Wikibase/view/resources/jquery/ui/jquery.ui.tagadata.js: // T136543: Setting dir to "auto" must use attr in Internet Explorer.
633./vendor/wikibase/javascript-api/src/getLocationAgnosticMwApi.js: // Internet Explorer returns an incomplete host (without port) when the protocol is missing.
634./vendor/data-values/javascript/lib/jquery/jquery.js: // We use execScript on Internet Explorer
635./vendor/data-values/javascript/lib/jquery/jquery.js: // Fails in Internet Explorer
636./vendor/data-values/javascript/lib/jquery/jquery.js: // #5280: Internet Explorer will keep connections alive if we don't abort on unload
637
638=============== WikiEditor
639./modules/jquery.wikiEditor.js: * Related to old IE 8 issues that are no longer reproducible
640./modules/jquery.wikiEditor.js: * Related to old IE 8 issues that are no longer reproducible
641./modules/jquery.wikiEditor.js: // Workaround for a scrolling bug in IE8 (bug 61908)
642./modules/jquery.wikiEditor.js: var IHateIE8;
643./modules/jquery.wikiEditor.js: IHateIE8 = {
644./modules/jquery.wikiEditor.js: context.$textarea.data( 'IHateIE8', IHateIE8 );
645./modules/jquery.wikiEditor.js: var IHateIE8;
646./modules/jquery.wikiEditor.js: IHateIE8 = context.$textarea.data( 'IHateIE8' );
647./modules/jquery.wikiEditor.js: if ( IHateIE8 ) {
648./modules/jquery.wikiEditor.js: context.$textarea.scrollTop( IHateIE8.scrollTop );
649./modules/jquery.wikiEditor.js: context.$textarea.textSelection( 'setSelection', { start: IHateIE8.pos[ 0 ], end: IHateIE8.pos[ 1 ] } );
650./modules/jquery.wikiEditor.js: context.$textarea.data( 'IHateIE8', null );
651./modules/jquery.wikiEditor.js: * Workaround for a scrolling bug in IE8 (bug 61908)
652
653=============== WikimediaEvents
654./modules/ext.wikimediaEvents.searchSatisfaction.js: // IE8 can't do Object.keys( x ).length, so
655
656=============== XMLContentExtension
657./assets/js/ace/worker-javascript.js
658./assets/js/ace/ace-builds-master/src-noconflict/worker-javascript.js: W002: "Value of '{a}' may be overwritten in IE 8 and earlier.",
659./assets/js/ace/ace-builds-master/src/worker-javascript.js: W002: "Value of '{a}' may be overwritten in IE 8 and earlier.",
660./assets/js/ace/ace-builds-master/src-min-noconflict/worker-javascript.js
661./assets/js/ace/worker-css.js
662./assets/js/ace/ace-builds-master/src-noconflict/worker-lua.js: } else {//IE8
663./assets/js/ace/ace-builds-master/src-noconflict/worker-css.js: } else {//IE8
664./assets/js/ace/ace-builds-master/src-noconflict/worker-css.js: browsers: "IE6,IE7,IE8",
665./assets/js/ace/ace-builds-master/src-noconflict/worker-coffee.js: } else {//IE8
666./assets/js/ace/ace-builds-master/src-noconflict/ace.js: } else {//IE8
667./assets/js/ace/ace-builds-master/src-noconflict/worker-xquery.js: } else {//IE8
668./assets/js/ace/ace-builds-master/src-noconflict/worker-php.js: } else {//IE8
669./assets/js/ace/ace-builds-master/src-noconflict/worker-json.js: } else {//IE8
670./assets/js/ace/ace-builds-master/src-noconflict/worker-javascript.js: } else {//IE8
671./assets/js/ace/ace-builds-master/src/worker-lua.js: } else {//IE8
672./assets/js/ace/ace-builds-master/src/worker-css.js: } else {//IE8
673./assets/js/ace/ace-builds-master/src/worker-css.js: browsers: "IE6,IE7,IE8",
674./assets/js/ace/ace-builds-master/src/worker-coffee.js: } else {//IE8
675./assets/js/ace/ace-builds-master/src/ace.js: } else {//IE8
676./assets/js/ace/ace-builds-master/src/worker-xquery.js: } else {//IE8
677./assets/js/ace/ace-builds-master/src/worker-php.js: } else {//IE8
678./assets/js/ace/ace-builds-master/src/worker-json.js: } else {//IE8
679./assets/js/ace/ace-builds-master/src/worker-javascript.js: } else {//IE8
680./assets/js/ace/ace-builds-master/textarea/src/ace-bookmarklet.js: } else {//IE8
681./assets/js/ace/ace-builds-master/src-min-noconflict/worker-css.js
682./assets/js/ace/worker-css.js
683./assets/js/ace/ace.js
684./assets/js/ace/ace-builds-master/src-noconflict/worker-css.js: reporter.report("You have " + count + " selectors. Internet Explorer supports a maximum of 4095 selectors per stylesheet. Consider refactoring.",0,0,rule);
685./assets/js/ace/ace-builds-master/src-noconflict/worker-css.js: reporter.report("You have " + count + " selectors. Internet Explorer supports a maximum of 4095 selectors per stylesheet. Consider refactoring.",0,0,rule);
686./assets/js/ace/ace-builds-master/src-noconflict/ace.js: (navigator.appName == "Microsoft Internet Explorer" || navigator.appName.indexOf("MSAppHost") >= 0)
687./assets/js/ace/ace-builds-master/src/worker-css.js: reporter.report("You have " + count + " selectors. Internet Explorer supports a maximum of 4095 selectors per stylesheet. Consider refactoring.",0,0,rule);
688./assets/js/ace/ace-builds-master/src/worker-css.js: reporter.report("You have " + count + " selectors. Internet Explorer supports a maximum of 4095 selectors per stylesheet. Consider refactoring.",0,0,rule);
689./assets/js/ace/ace-builds-master/src/ace.js: (navigator.appName == "Microsoft Internet Explorer" || navigator.appName.indexOf("MSAppHost") >= 0)
690./assets/js/ace/ace-builds-master/textarea/src/ace-bookmarklet.js: (navigator.appName == "Microsoft Internet Explorer" || navigator.appName.indexOf("MSAppHost") >= 0)
691./assets/js/ace/ace-builds-master/src-min-noconflict/worker-css.js
692./assets/js/ace/ace-builds-master/src-min-noconflict/ace.js

Change 339171 had a related patch set uploaded (by WMDE-Fisch):
Drop IE8 hint

https://gerrit.wikimedia.org/r/339171

I wonder if this task could be a source for Google-Code-in-2017 tasks? Anyone volunteering to mentor?

$:acko\> pwd
/home/user/git/wikimedia/mediawiki-extensions
$:acko\> grep -c -e 'IE 8' -e 'Internet Explorer 8' -e 'InternetExplorer 8' -e 'InternetExplorer8' -e 'IE8' -r --include *.js --include *.php --include *.css . | sort -r -n -t : -k 2
./Blackout/skins/ProtestSopa.php:1
./BlueSpiceFoundation/resources/extjs/ext-all-debug.js:39
./BlueSpiceMultiUpload/resources/lib/plupload/moxie.js:3
./Cargo/libs/DataTables/js/jquery.dataTables.js:2
./Cargo/libs/FullCalendar/fullcalendar.js:2
./Cargo/libs/nv.d3.js:1
./CentralNotice/resources/subscribing/ext.centralNotice.display.state.js:2
./CodeEditor/modules/ace/ace.js:6
./CodeEditor/modules/ace/snippets/html.js:2
./CodeEditor/modules/ace/worker-coffee.js:1
./CodeEditor/modules/ace/worker-css.js:2
./CodeEditor/modules/ace/worker-html.js:1
./CodeEditor/modules/ace/worker-javascript.js:2
./CodeEditor/modules/ace/worker-json.js:1
./CodeEditor/modules/ace/worker-lua.js:1
./CodeEditor/modules/ace/worker-php.js:1
./CodeEditor/modules/ace/worker-xml.js:1
./CodeEditor/modules/ace/worker-xquery.js:1
./CodeEditor/modules/ext.codeEditor.js:1
./CodeMirror/resources/lib/codemirror/addon/runmode/runmode.js:1
./CodeMirror/resources/lib/codemirror/lib/codemirror.js:3
./Contest/resources/fancybox/jquery.fancybox-1.3.4.css:1
./ExtJSBase/resources/extjs/ext-all.js:1
./ExtTab/scripts/extjs/adapter/ext/ext-base.js:1
./ExtTab/scripts/extjs/adapter/jquery/ext-jquery-adapter.js:1
./ExtTab/scripts/extjs/adapter/prototype/ext-prototype-adapter.js:1
./ExtTab/scripts/extjs/adapter/yui/ext-yui-adapter.js:1
./ExtTab/scripts/extjs/ext-all.js:2
./ExtTab/scripts/extjs/resources/css/ext-all.css:1
./ExtTab/scripts/extjs/resources/css/ext-all-notheme.css:1
./ExtTab/scripts/extjs/resources/css/structure/tabs.css:1
./Flow/modules/engine/misc/mw-ui.enhance.js:1
./GettingStarted/resources/lightbulb/lightbulb.logging.js:1
./Html2Wiki/lib/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php:2
./Kartographer/lib/mapbox/mapbox-lib.js:5
./Kartographer/lib/mapbox/style.css:2
./LifeWebCore/resources/script/jquery-1.10.2.js:12
./Lingo/styles/jquery.qtip.css:1
./LinkedWiki/js/bootstrap-select/js/bootstrap-select.js:3
./LinkedWiki/js/FlintSparqlEditor/sparql/lib/jquery-migrate-1.0.0.js:1
./MobileFrontend/includes/MobileFrontend.skin.hooks.php:1
./MobileFrontend/tests/phpunit/devices/UADeviceDetectorTest.php:1
./MultiMaps/services/Leaflet/Leaflet.php:1
./MultimediaViewer/resources/jquery.hashchange/jquery.hashchange.js:1
./PageForms/includes/PF_AutoeditAPI.php:1
./PageForms/libs/jquery.dynatree.js:1
./PageForms/libs/select2.js:1
./PageForms/skins/jquery.fancybox.css:1
./PagesList/modules/DataTables/media/js/jquery.dataTables.js:2
./PhpTagsMaps/services/Leaflet/Leaflet.php:1
./Reflect/client/js/reflect.js:1
./SemanticPageMaker/scripts/fancybox/jquery.fancybox-1.3.4.css:1
./SemanticPageMaker/scripts/wysiwyg/ckeditor/_source/core/dom/text.js:1
./SemanticPageMaker/scripts/wysiwyg/ckeditor/_source/core/env.js:7
./SemanticPageMaker/scripts/wysiwyg/ckeditor/_source/core/tools.js:1
./SemanticPageMaker/scripts/wysiwyg/ckeditor/_source/plugins/floatpanel/plugin.js:1
./SemanticPageMaker/scripts/wysiwyg/ckeditor/_source/plugins/wysiwygarea/plugin.js:2
./SemanticPageMaker/scripts/wysiwyg/ckeditor/_source/skins/kama/toolbar.css:1
./SemanticPageMaker/scripts/wysiwyg/ckeditor/_source/skins/office2003/toolbar.css:1
./SemanticPageMaker/scripts/wysiwyg/ckeditor/_source/skins/v2/toolbar.css:1
./Sentry/resources/raven/raven.js:1
./SkelJS/tests/qunit/qunit.js:1
./SoundManager2Button/css/mp3-player-button.css:1
./SoundManager2Button/script/soundmanager2.js:1
./Spreadsheet/lib/spreadsheet-js/lib/efp/test/qunit-1.11.0.js:1
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/js/highcharts.src.js:13
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/js/highstock.src.js:14
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/js/parts/Adapters.js:1
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/js/parts/Chart.js:1
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/js/parts/ColumnSeries.js:1
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/js/parts/Globals.js:1
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/js/parts/Scroller.js:1
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/js/parts/Series.js:1
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/js/parts/VmlRenderer.js:8
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/lib/jquery-1.4.4.js:4
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/lib/jquery-1.5.2.js:3
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/lib/jquery-1.6.4.js:4
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/lib/jquery-1.7.2.js:4
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/lib/jquery-1.8.0.js:9
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/lib/mootools-1.2.5-core-nc.js:4
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.3.2-full-compat.js:7
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/lib/mootools-core-1.4.5-full-nocompat.js:11
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/samples/data/sizes.js:1
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/samples/highcharts/demo/column-drilldown/demo.js:1
./Spreadsheet/lib/spreadsheet-js/lib/highcharts/samples/highcharts/demo/pie-donut/demo.js:1
./Spreadsheet/lib/spreadsheet-js/test/qunit-1.11.0.js:1
./Spreadsheet/lib/zip/WebContent/tests/arraybuffer.js:1
./Survey/resources/fancybox/jquery.fancybox-1.3.4.css:1
./TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/mw.EmbedPlayer.js:1
./TimedMediaHandler/resources/videojs/ie8/videojs-ie8.js:7
./TimedMediaHandler/resources/videojs/video.js:48
./TimedMediaHandler/resources/videojs/video-js.css:5
./Translate/resources/js/jquery.autosize.js:1
./UniversalLanguageSelector/lib/jquery.ime/jquery.ime.js:1
./VisualEditor/lib/ve/lib/classList/classList.js:1
./VisualEditor/lib/ve/lib/dompurify/purify.js:1
./VisualEditor/lib/ve/lib/jquery/jquery.js:12
./VisualEditor/lib/ve/lib/oojs/oojs.jquery.js:1
./WikEdDiff/modules/ext.wikEdDiff.js:1
./Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.wbtooltip.js:1
./Wikibase/view/resources/wikibase/templates.js:7
./Wikidata/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.wbtooltip.js:1
./Wikidata/extensions/Wikibase/view/lib/wikibase-data-values-value-view/src/jquery.valueview.Expert.js:1
./Wikidata/extensions/Wikibase/view/resources/wikibase/templates.js:7
./Wikidata/vendor/data-values/data-types/js/lib/qunit/qunit.js:1
./WikimediaEvents/modules/all/ext.wikimediaEvents.searchSatisfaction.js:1

Change 392663 had a related patch set uploaded (by Ladsgroup; owner: Amir Sarabadani):
[mediawiki/extensions/Wikibase@master] Remove some of IE8 hacks

https://gerrit.wikimedia.org/r/392663

Change 392663 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Remove some of IE8 hacks

https://gerrit.wikimedia.org/r/392663

Kizule triaged this task as Low priority.
Kizule subscribed.

I will work on this.

Kizule removed a project: User-Kizule.
Kizule unsubscribed.

Change 542311 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/extensions/CentralNotice@master] Remove obsolete comment about IE8

https://gerrit.wikimedia.org/r/542311

Change 542311 merged by jenkins-bot:
[mediawiki/extensions/CentralNotice@master] Remove obsolete comment about IE8

https://gerrit.wikimedia.org/r/542311

Izno renamed this task from Remove IE8 hacks/workarounds/etc. from extensions to Remove IE8 Javascript hacks/workarounds/etc. from extensions.Oct 12 2019, 9:15 PM

All subtasks are closed, shouldn't this task be closed the same way? :)

All subtasks are closed, shouldn't this task be closed the same way? :)

https://codesearch-beta.wmcloud.org/search/?q=IE8&files=%5C.%28js%7Cphp%29%24&excludeFiles=&repos= finds a bunch of matches, though most appear to be upstream library comments, at least some look like they need reviewing and possibly re-thinking, e.g. https://gerrit.wikimedia.org/g/mediawiki/extensions/MobileFrontend/+/0fe5ccbd9dd05ab949709b9b44921b06e496732c/includes/Transforms/LazyImageTransform.php#262

All subtasks are closed, shouldn't this task be closed the same way? :)

https://codesearch-beta.wmcloud.org/search/?q=IE8&files=%5C.%28js%7Cphp%29%24&excludeFiles=&repos= finds a bunch of matches, though most appear to be upstream library comments, at least some look like they need reviewing and possibly re-thinking, e.g. https://gerrit.wikimedia.org/g/mediawiki/extensions/MobileFrontend/+/0fe5ccbd9dd05ab949709b9b44921b06e496732c/includes/Transforms/LazyImageTransform.php#262

Do we need to add (to this task) all projects from the list to notify them?

All subtasks are closed, shouldn't this task be closed the same way? :)

https://codesearch-beta.wmcloud.org/search/?q=IE8&files=%5C.%28js%7Cphp%29%24&excludeFiles=&repos= finds a bunch of matches, though most appear to be upstream library comments, at least some look like they need reviewing and possibly re-thinking, e.g. https://gerrit.wikimedia.org/g/mediawiki/extensions/MobileFrontend/+/0fe5ccbd9dd05ab949709b9b44921b06e496732c/includes/Transforms/LazyImageTransform.php#262

Do we need to add (to this task) all projects from the list to notify them?

No. If you want this task closed, you need to go through all outstanding likely items and either (a) decide that they are false positives or (b) get them fixed. We don't spam dozens of projects just in case, that just wastes hundreds of people's time.

All subtasks are closed, shouldn't this task be closed the same way? :)

https://codesearch-beta.wmcloud.org/search/?q=IE8&files=%5C.%28js%7Cphp%29%24&excludeFiles=&repos= finds a bunch of matches, though most appear to be upstream library comments, at least some look like they need reviewing and possibly re-thinking, e.g. https://gerrit.wikimedia.org/g/mediawiki/extensions/MobileFrontend/+/0fe5ccbd9dd05ab949709b9b44921b06e496732c/includes/Transforms/LazyImageTransform.php#262

Do we need to add (to this task) all projects from the list to notify them?

No. If you want this task closed, you need to go through all outstanding likely items and either (a) decide that they are false positives or (b) get them fixed. We don't spam dozens of projects just in case, that just wastes hundreds of people's time.

Not sure that this strategy is the right way, but as you wish :)