Skip to content

Commit b3acd9c

Browse files
committed
handle some quirks mode issues
IE8 and 9 do not support array-style string parsing in quirks mode: "abcdef"[0] returns "" whereas "abcdef".substr(0,1) returns "a" document.fireEvent() returns "Invalid argument" regardless of the parameters sent to it. This happens in IE8 and IE9 in quirks mode.
1 parent 90b2c99 commit b3acd9c

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/raven.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ var Raven = {
235235
function triggerEvent(eventType, options) {
236236
var event, key;
237237

238-
eventType = 'raven' + eventType[0].toUpperCase() + eventType.substr(1);
238+
eventType = 'raven' + eventType.substr(0,1).toUpperCase() + eventType.substr(1);
239239

240240
if (document.createEvent) {
241241
event = document.createEvent('HTMLEvents');
@@ -254,9 +254,14 @@ function triggerEvent(eventType, options) {
254254
}
255255

256256
if (document.createEvent) {
257+
// IE9 if standards
257258
document.dispatchEvent(event);
258259
} else {
259-
document.fireEvent('on' + event.eventType.toLowerCase(), event);
260+
// IE8 regardless of Quirks or Standards
261+
// IE9 if quirks
262+
try {
263+
document.fireEvent('on' + event.eventType.toLowerCase(), event);
264+
} catch(e) {}
260265
}
261266
}
262267

0 commit comments

Comments
 (0)