Как я могу проверить, был ли JavaScript-Eventhandler установлен?

Как я вижу, этот вопрос сам по себе содержит ответ. Я просто вытаскиваю это и публикую как ответ для ясности другим разработчикам с той же проблемой. Мне потребовалось некоторое время, чтобы выяснить, что у вопроса есть ответ!

Чтобы получить доступ к электронной почте пользователя и amp; имя, вам нужно добавить ниже конфигурацию в XML-файл безопасности.

<security:attribute-exchange identifier-match="https://www.google.com/.*">
    <security:openid-attribute name="email" type="http://schema.openid.net/contact/email" required="true" />
    <security:openid-attribute name="firstName" type="http://axschema.org/namePerson/first" required="true" />
    <security:openid-attribute name="lastName" type="http://axschema.org/namePerson/last" required="true" />
</security:attribute-exchange>
<security:attribute-exchange identifier-match=".*yahoo.com.*">
    <security:openid-attribute name="email" type="http://axschema.org/contact/email" required="true"/>
    <security:openid-attribute name="fullname" type="http://axschema.org/namePerson" required="true" />
</security:attribute-exchange>

После этого он будет доступен в классе AuthenticationUserDetailsService, как показано ниже.

public UserDetails loadUserDetails(OpenIDAuthenticationToken token) {
    String id = token.getIdentityUrl();
        :
        :
    List attributes = token.getAttributes();
    for (OpenIDAttribute attribute : attributes) {
        if (attribute.getName().equals("email")) {
            email = attribute.getValues().get(0);
        }
        if (attribute.getName().equals("firstName")) {
            firstName = attribute.getValues().get(0);
        }
        if (attribute.getName().equals("lastName")) {
            lastName = attribute.getValues().get(0);
        }
        if (attribute.getName().equals("fullname")) {
            fullName = attribute.getValues().get(0);
        }
    }
        :
        :
    // form and return user object
}

Учитывая, что мы используем больше конфигурации / бинов на основе Java, перевод этих настроек XML в конфигурацию на основе Java не должен быть проблемой.

Надеюсь, это поможет.

16
задан Ahmad Baktash Hayeri 9 September 2016 в 07:21
поделиться

2 ответа

Проверьте, например:

if(typeof someNode.onclick == "function") {
   // someNode has an event handler already set for the onclick event...
}

Между прочим, если вы используете библиотеку, вы должны так сказать - если да, это может быть проще / чище и будет отличаться в зависимости от того, какой библиотека, которую вы используете ...

10
ответ дан 30 November 2019 в 22:31
поделиться
<input type="button" id="foo" name="foo" value="bar" />

<script type="text/javascript">
    alert(document.getElementById('foo').onclick); //undefined
</script>

Итак, вы хотите сделать что-то вроде этого:

<script type="text/javascript">
    if (undefined == document.getElementById('foo').onclick)
    {
        // Add event handler
    }
</script>
1
ответ дан 30 November 2019 в 22:31
поделиться
Другие вопросы по тегам:

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