автозаполнение openid

спецификацию openid писали неглупые люди, поэтому прямо в ней всем рекомендуется давать предназначенному для openid полю ввода имя openid_url. Очень многие следуют этой рекомендации, поэтому такие поля можно заполнять автоматически. Вернее, можно в теории, потому что firefox обещал в третьей версии какую-то особенную поддержку openid, да так и не дал, и опера тоже молчит по этому поводу. Нет, конечно, можно поставить плагинчик от verisign personal identity (а именно их я и использую в качестве провайдера), но он работает только со своими длинными и некрасивыми адресами

в этой ситуации как нельзя кстати оказывается user javascript. В опере он есть из коробки, а на firefox можно натянуть жырную мартышку. И предложить им такой простой до боли код:

document.addEventListener('load', function(){
    var inputs = document.getElementsByName('openid_url');
    for (var index = 0; index < inputs.length; index++) {
        inputs[index].addEventListener('focus', function(){ 
            this.value = this.value || 'https://arty.name/' 
        }, false);
    }
}, false);

ну и краткое пояснение: всем элементам с именем openid_url мы назначаем на событие фокуса обработчик, который подставит в пустое поле значение 'https://arty.name/'

ps: почему-то из второй версии openid убрали слова про рекомендованное для поля имя

Артемий Трегубенко,
,

comments powered by Disqus