Bug Tracker

Ticket #12423 (closed bug: fixed)

Opened 2 years ago

Last modified 2 years ago

jQuery breaks with Comcast Protection Guard and any anti-keylogging protection software on IE7+

Reported by: roger.hu@… Owned by: dmethvin
Priority: low Milestone: 1.8.2
Component: event Version: 1.8.0
Keywords: Cc:
Blocking: Blocked by:

Description

  1. Install Comcast Protection Guard or any anti-key logging software that installs a DLL browser helper object that intercepts keyup events.
  1. Run  http://jsfiddle.net/rTxrc/13/ on IE7/IE8/IE9
  1. Type a keystroke in the textarea: notice the "Object doesn't support this property or method"

The patch is actually quite small-- add handle.apply() checks inside the trigger method, since DLL onclick events appear to show up as a string 'undefined' but do not have the apply() method.

Fire handlers on the event path

for ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) {

. . .

if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) {

event.preventDefault();

}

For more background, see:

 http://hustoknow.blogspot.com/2012/08/the-pernicious-effects-of-comcast_29.html

Change History

comment:1 Changed 2 years ago by sindresorhus

  • Priority changed from undecided to low
  • Component changed from unfiled to event

Comcast should be punished for doing stuff like that... Or Microsoft for giving them the ability...

Last edited 2 years ago by sindresorhus (previous) (diff)

comment:2 Changed 2 years ago by roger.hu@…

This has been a major bug affecting our users for the past few years that eluded us until now. Any application that depends on using jQuery to trigger keyup events manually will encounter this problem, since so many users are installing this anti-keylogger software when they setup Comcast.

The patch we've already implemented and has done tremendous to reduce the number of tickets reported by customers just in the past few days. Could you consider escalating and add the patch in for the next jQuery release? Many thanks!

comment:3 Changed 2 years ago by dmethvin

  • Status changed from new to open
  • Milestone changed from None to 1.next

Well the ticket just came in 2 days ago, and we were in the midst of getting a release out the door. Your description of the problem seems reasonable so I'll mark it open. I am not sure when our next release might be, it could be a month or two.

comment:4 Changed 2 years ago by dmethvin

  • Milestone changed from 1.next to 1.8.2

comment:5 Changed 2 years ago by dmethvin

  • Owner set to dmethvin
  • Status changed from open to assigned

I'll experiment with this to see whether we can get it into 1.8.2.

comment:6 Changed 2 years ago by Dave Methvin

  • Status changed from assigned to closed
  • Resolution set to fixed

Fix #12423. Ensure we can .apply() before we try.

I can't think of an uncontrived way to unit test this, it only occurs in IE when a BHO monkeys with the links.

Changeset: e8e3e90a8620a945d2d4f6012a604d96db2bd317

Note: See TracTickets for help on using tickets.