Как остановить кнопку входа в Google+ из сообщения "Добро пожаловать, вы уже подключились к этому приложению через Google+, как..." - программирование
Подтвердить что ты не робот

Как остановить кнопку входа в Google+ из сообщения "Добро пожаловать, вы уже подключились к этому приложению через Google+, как..."

Я добавляю кнопку входа Google+ на свой сайт, используя серверный поток. Вот как я выношу кнопку входа:

<script type="text/javascript">
    (function () {
        var po = document.createElement('script');
        po.type = 'text/javascript';
        po.async = true;
        po.src = 'https://plus.google.com/js/client:plusone.js?onload=renderGPlus';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(po, s);
    })();
</script>

<script type="text/javascript">
    function renderGPlus() {
        gapi.signin.render('customGPlusBtn', {
              'callback': 'gPlusSignInCallback',
              'clientid': '<my_client_id>',
              'redirecturi': 'postmessage',
              'accesstype': 'offline',
              'cookiepolicy': 'single_host_origin',
              'requestvisibleactions': 'http://schemas.google.com/BuyActivity',
              'scope': 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email'
            });
    }
</script>

Когда кнопка загружена, она немедленно проверяет, разрешает ли пользователь мое приложение (немедленный режим). Если пользователь ранее разрешил мое приложение, в нижней части страницы появится панель уведомлений с сообщением "С возвращением, вы уже подключились к этому приложению через Google+ Sign-In как.....".

enter image description here

Есть ли способ предотвратить появление этого сообщения?

4b9b3361

Ответ 1

Во-первых, сообщение появляется только в первый раз, когда пользователь подписывается, как признано Google для определенного сеанса браузера. Другими словами, пользователь увидит сообщение только в том случае, если они закрыли свои окна браузера и запустили новый сеанс браузера.

Вы должны авторизовать пользователя в любое время, когда вы увидите, что результат авторизации успешно возвратил и обновил пользователя в авторизованном состоянии. Таким образом, пользователь автоматически подписывается во время появления этого сообщения.

Поскольку появившееся сообщение информирует ваших пользователей о том, что они были автоматически подписаны, вы, вероятно, не должны подавлять это сообщение, если вы не намеренно делаете это для пользователя, чей сеанс вы явно управляете.

Однако, если вы внедрили явный выезд и управляете состоянием входа в систему, следующее изменение кода для синхронного include plusone.js будет подавлять сообщение тоста.

<script src="https://apis.google.com/js/plusone.js">
  isSignedOut: true
</script>

Еще одно замечание: вам больше не нужно управлять пользовательским состоянием, чтобы подписать пользователя. Новый метод gapi.auth.signOut подпишет пользователя. Вы можете увидеть демонстрацию показания здесь.

Если вы выполняете асинхронное включение, следующие глобальные флаги конфигурации будут подавлять сообщение:

window.___gcfg = { isSignedOut: true };

UPDATE:

Как указано Chimdi2000, это решение не работает в Chrome. Вы можете добавить следующий CSS, чтобы скрыть сгенерированный iframe:

iframe[src^="https://apis.google.com"] {
  display: none;
}

Поскольку его ответ намного более совершенен, чем мой, и он затрагивает дополнительные вопросы, пожалуйста, проверьте его.

Ответ 2

Совсем недавно недавно принятый ответ на этой странице, чтобы скрыть "Добро пожаловать в Google Добро пожаловать!"

window.___gcfg = { isSignedOut: true };

не работает снова.

AIM: "Скрыть или подавить знак" Google+ "Приветственное сообщение" во всех браузерах.

Пожалуйста, если вы используете `

window.___gcfg = { isSignedOut: true };

для подавления предупреждения. После серьезных экспериментов я обнаружил это.

Я рекомендую вам использовать эту версию iframe для подавления всплывающего окна Google API на вашей веб-странице.

Iframe 1: iframe[src^="https://apis.google.com"] {display: none;} Это скрывает всплывающие окна из Google API на вашей веб-странице.

Iframe 2: iframe[src^="https://apis.google.com/u/0/_/sharebox"] {display: none;} Это скрывает все Диалоговое окно интерактивного обмена Google на вашей веб-странице.

Iframe 3: iframe[src^="https://apis.google.com/u/0/_/widget/oauthflow/toast"] {display: none;} Это скрывает всплывающее окно " Google Welcome Back Message" на вашей веб-странице.

Iframe 4: iframe[src^="https://apis.google.com/u/0/_/+1/"] {display: none;} Это скрывает всю " кнопку Google +1" на вашей веб-странице.

Итак, для этого конкретного вопроса сделайте это в теге Head вашей HTML-страницы

 <style> `iframe[src^="https://apis.google.com/u/0/_/widget/oauthflow/toast` </style>

Протестируйте его, и он работает отлично.

Ответ 3

Принятый ответ - правильный способ сделать это, но если по какой-то другой причине вы просто хотите скрыть сгенерированный iframe, вы можете сделать это с помощью CSS:

iframe[src^="https://apis.google.com"] {
  display: none;
}

Ответ 4

Chimdi2000 последний код стиля должен быть:

<style>
iframe[src^="https://apis.google.com/u/0/_/widget/oauthflow/toast"] {
  display: none;
}
</style>

и работает идеально.

EDIT:

Кодирование ниже также скрывает кнопку входа в систему.

<style>
iframe[src^="https://apis.google.com"] {
    display: none;
}
</style>