Friday, 27. June 2008, 14:11:55
Very weird bug on this site: can't type letter t?!
This is probably the strangest thing ever, but if I visit this site with Opera 9.5:http://www.rabobank.nl/zoeken/context/particulieren/?z01=&z41=1&z21=0&z6=1
believe it or not, I cannot type the letter t in the search field! (below "zoeken naar")
I can enter all other characters just fine, and when I hold down the Shift key I can also enter a capital T, but no lowercase t.
When I type something with lowercase t's in notepad and copy/paste it, it works fine.
When CAPS LOCK is enabled (and not pressing shift) I can also enter capital T's normally.
I already cleared all cookies, cache, restarted, etc, but the problem stays.
Uhmmm... like, WTF?!
Friday, 27. June 2008, 15:52:13
That's one weird feature*
*
Remember people, they aren't called bugs anymore
*
Remember people, they aren't called bugs anymore
Friday, 27. June 2008, 16:04:21
Hmm this IS really weird. So I just looked at the code for that page, and there is a script loaded by the page that is checking for certain special keypresses (F5, Enter, etc.). But, apparently the way Opera handles key events is works differently from other browsers (IE at least) in certain cases, and so the 't' is mistakenly intercepted by the script.
Anyway, I filed a bug report (bug-343875).
You might be able to turn off javascript as a workaround, except I'm not sure about how much that site relies on javascript for other things. But yeah pasting 't' or using an uppercase 'T' if you can is probably your best bet until this is fixed.
Anyway, I filed a bug report (bug-343875).
You might be able to turn off javascript as a workaround, except I'm not sure about how much that site relies on javascript for other things. But yeah pasting 't' or using an uppercase 'T' if you can is probably your best bet until this is fixed.
Friday, 27. June 2008, 18:23:08
This problem occurs with other sites, too.
But also with version 9.2x.
My workaround is to type the text elsewhere and copy&paste it to the input field.
I haven't reported this, because it happens while doing home banking (via web frontend).
"Untypable" characters: "r", "t", "z", "u".
(Remember, that theses characters are all neighbors on a keyboard with german layout.)
I don't think that the opera team would create an account just to examine the scripts... ;-)
(using Opera on MAC OS X)
But also with version 9.2x.
My workaround is to type the text elsewhere and copy&paste it to the input field.
I haven't reported this, because it happens while doing home banking (via web frontend).
"Untypable" characters: "r", "t", "z", "u".
(Remember, that theses characters are all neighbors on a keyboard with german layout.)
I don't think that the opera team would create an account just to examine the scripts... ;-)
(using Opera on MAC OS X)
Friday, 27. June 2008, 20:25:06
I see the following javascript file: http://www.rabobank.nl/javascript/ra_keys.js
From the title the purpose is to prevent you from pressing F5 (Reload), but it is probably what is blocking the letter "t". Let me see ... decimal 116 is hex 74 - yes, that's the letter t. Add that script to the content blocker (Preferences > Advanced > Content) and the problem should go away. Though presumably there's a reason why they don't want you to press F5, so avoid reloading pages while on that site.
From the title the purpose is to prevent you from pressing F5 (Reload), but it is probably what is blocking the letter "t". Let me see ... decimal 116 is hex 74 - yes, that's the letter t. Add that script to the content blocker (Preferences > Advanced > Content) and the problem should go away. Though presumably there's a reason why they don't want you to press F5, so avoid reloading pages while on that site.
Friday, 27. June 2008, 21:14:01
Yes, the issue is that Opera passes the Unicode value of the letter pressed as the value of the "keyCode" property when responding to the "keyup" and "keydown" events.
IE sends "keyCode" as the letter value too, but only for "keypress" events. For "keyup" and "keydown" events it uses a totally different mapping, despite Microsoft's own documentation making no mention of this. Well actually it mentions it now, but only thanks to user-contributed "Community Content"; see the contributed note at: http://msdn.microsoft.com/en-us/library/ms533927(VS.85).aspx
That other mapping is what the script on the page is testing against.
Since the keyCode property in javascript is not part of any proper specification it is tricky to define what Opera should do here, but clearly a lot of key detection scripts are going to be written "the way that works in IE". (I'm not sure what Firefox and Safari do here.)
IE sends "keyCode" as the letter value too, but only for "keypress" events. For "keyup" and "keydown" events it uses a totally different mapping, despite Microsoft's own documentation making no mention of this. Well actually it mentions it now, but only thanks to user-contributed "Community Content"; see the contributed note at: http://msdn.microsoft.com/en-us/library/ms533927(VS.85).aspx
That other mapping is what the script on the page is testing against.
Since the keyCode property in javascript is not part of any proper specification it is tricky to define what Opera should do here, but clearly a lot of key detection scripts are going to be written "the way that works in IE". (I'm not sure what Firefox and Safari do here.)
Friday, 27. June 2008, 21:53:19
A realistic method which would pass that script is for the keycode to be 84 (T instead of t) and charcode to be 116 - or just to have any non-zero charcode. I think Windows actually has both set to 116, but 84 would make more sense as the keycode.
Friday, 12. September 2008, 17:17:39
Couldn't resist blogging about this..
http://my.opera.com/hallvors/blog/2008/09/12/rabobank-trusts-only-rabokeys
http://my.opera.com/hallvors/blog/2008/09/12/rabobank-trusts-only-rabokeys
Friday, 12. September 2008, 18:22:50
OK, this is not unique to Robobank (thanks hallvors for blogging about it or I would not have seen this thread).
hsbc.ca is also guilty of the same fault. I think the only place where it appears is when connecting to the online banking portion of the site: "t" cannot be typed. it has to be "T". Fortunately, the input is not case sensitive!
Is this something that Opera can fix? Could it be included in a browser js? or should it be taken with the bank (they are monolitic when it comes to fix their websites)?
@sgunhouse: can you help me identify which script I need to block on hsbc.ca to apply the workaround you suggested?
Thanks in advance
hsbc.ca is also guilty of the same fault. I think the only place where it appears is when connecting to the online banking portion of the site: "t" cannot be typed. it has to be "T". Fortunately, the input is not case sensitive!
Is this something that Opera can fix? Could it be included in a browser js? or should it be taken with the bank (they are monolitic when it comes to fix their websites)?
@sgunhouse: can you help me identify which script I need to block on hsbc.ca to apply the workaround you suggested?
Thanks in advance
Wednesday, 24. September 2008, 19:50:19
It would be quite trivial to patch this in browser.js but we can't do it globally since that will cause problems for sites that use "t" as a shortcut for something. If somebody with (user) JS skills is interested please refer to this how-to on submitting patches to browser.js.
(The most efficient patch would probably be something like
Thanks in advance (you can tell I'm sneakily trying to get people used to the idea of submitting contributions to browser.js here..
)
(The most efficient patch would probably be something like
opera.addEventListener('BeforeEventListener.keypress', function(e){ if(e.event.keyCode==116)e.preventDefault(); },false))Thanks in advance (you can tell I'm sneakily trying to get people used to the idea of submitting contributions to browser.js here..
Forums » Opera Community » Opera for desktop » Opera browser
