You might want to have a look at this:
http://developers.slashdot.org/story/11/11/22/0422223/openpgp-implemented-in-javascript
The project referenced within has moved:
http://www.openpgpjs.org/
This projects looks quite promising and it performs not too bad... at least in Chrome, with 2048b key, on my i5 CPU
Unfortunately it does not work yet, because whenever I clear-sign a message that contains more than one end-of-line character, it does not verify later on.
See an example, if you wish: http://www.speedyshare.com/Gm2gU/openpgpjs-test.zip
Moreover, keeping the private keys in the browser's local storage and entering the password to unlock it via a browser's form, is not a kind of security that I would like to encourage.
So for now I will rather stick to the NAPI plugins - faster, safer and just works.