Re-enabling Password Pasting

As a 1password user, I usually have very long, unique, and random passwords for every site that requires one. I use the 1Password browser extensions to fill password forms for me, but on iOS I copy and paste the values manually. Some misguided web developers have decided pasting passwords should be prohibited and have added onpaste events to prevent it. The latest culprit I have encountered is Apple.

While this is an infrequent annoyance it can be crippling. To combat it, I whipped up a bookmarklet that will run some JavaScript on the page to remove onpaste events from all password fields.

To use the bookmarklet, drag the allow pwpaste bookmarklet link to your bookmark toolbar. When you encounter one of these annoying forms, simply click the bookmark to re-enable pasting. The bookmarklet source is available in a more readable format below.

Adding bookmarklets to mobile safari is a giant pain, so I would suggest adding the bookmarklet in desktop Safari and using iCloud to sync it.

var inputs = document.getElementsByTagName('input');
for (var i=0; i < inputs.length; i++) {
  if (inputs[i].getAttribute('type').toLowerCase() === 'password') {
    inputs[i].setAttribute('onpaste', '');
  }
}