Аутентификация OpenID в Ruby on Rails

Я просто использую:

setTimeout(function(){
    //reference/manipulate DOM here
});

И в отличие от document.addEventListener("DOMContentLoaded" //etc, как в самом верхнем ответе, он работает еще в IE9 - http://caniuse.com/# search = DOMContentLoaded указывает только на IE11.

Например, перейдите в https://netrenderer.com/index.php , выберите Internet Explorer 9 из в раскрывающемся списке введите https://dexygen.github.io/blog/oct-2017/jekyll/jekyll-categories/liquid-templates/2017/10/22/how-jekyll-builds-site-categories.html. и нажмите «Render», и вы увидите что-то похожее на скриншот внизу этого сообщения.

См. следующий код Javascript, который я использую в заголовке, чтобы манипулировать стилем Jekyll «хакер» по своему вкусу - в частности, вы можете ссылаться на блок if (location.pathname !== rootPath), чтобы увидеть, как я вставляю ссылки Home и Blog Home, которые отображаются IE9 на сайт NetRenderer.

Интересно, что я наткнулся на это решение setTimeout в 2009 году: Проверяет готовность переполнения DOM? , который, вероятно, мог быть сформулирован немного лучше, как я подразумевал под используя более сложные подходы к различным схемам.

setTimeout(function() {//delay execution until after dom is parsed
    var containerEls = document.getElementsByClassName('container');
    var headingEl = containerEls[0].getElementsByTagName('h1')[0];
    var headerEl = document.getElementsByTagName('header')[0];
    var downloadsSectionEl = document.getElementById('downloads');
    var rootPath = "/";
    var blogRootPath = "/blog/";

    containerEls[0].style.maxWidth = '800px';
    containerEls[1].style.maxWidth = '800px';
    headingEl.style.margin = '0';
    headerEl.style.marginBottom = '7px';
    downloadsSectionEl.style.margin = '0';

    if (location.pathname !== rootPath) {
        downloadsSectionEl.appendChild(generateNavLink('Home', rootPath));
        if (location.pathname !== blogRootPath) {
            downloadsSectionEl.appendChild(document.createTextNode(' | '));
            downloadsSectionEl.appendChild(generateNavLink('Blog Home', blogRootPath));
        }
    }

    function generateNavLink(linkText, hrefPath) {
        var navLink = document.createElement('a');
        var linkTextNode = document.createTextNode(linkText);
        navLink.setAttribute('href', hrefPath);
        navLink.appendChild(linkTextNode);
        return navLink;
    }
});

23
задан AMIC MING 14 January 2013 в 04:58
поделиться

3 ответа

Вы наблюдали за Ryan Bates, превосходным Railscast на Аутентификации OpenID?

17
ответ дан John Topley 29 November 2019 в 02:44
поделиться

Я могу порекомендовать AuthLogic для OpenID:

http://www.binarylogic.com/2008/11/21/tutorial-using-openid-with-authlogic/

5
ответ дан 29 November 2019 в 02:44
поделиться

Обратите внимание на это:

http://github.com/shripadk/authlogic_openid_selector_example

Полное приложение, использующее authlogic-openid с селектором jquery и автоматической регистрацией. Ура :)

2
ответ дан 29 November 2019 в 02:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: