更改 "Access Google Analytics" 按钮文本

Changing The "Access Google Analytics" Button Text

我的站点中有一个管理页面,我在其中实施了 Google Analytics Embed。一切正常,但我想翻译登录按钮文本:

此按钮由 gapi.analytics.auth.authorize()

调用

我的函数看起来像这样 atm:

gapi.analytics.auth.authorize({
    userInfoLabel: 'Logged in as: ',
    container: 'embed-api-auth-container',
    clientid: 'CLIENTID'
  });

我查看了开发人员指南,我发现 userInfoLabel: 正在替换文本“You are logged in as:”,但我没有找到任何关于如何替换登录文本的信息按钮。

我正在与 Chart.js and Third party visualizations Demo 合作。

登录后我的页面如下所示:

如果未登录则看起来像这样:

问题是:

  1. 如何替换 "Access Google Analytics" 文本?
  2. 如何设置 当用户不在时,容器的值为 display:none; 已登录。(容器 ID:'container'

编辑:

我试图检查 gapi.analytics.auth.isAuthorized() 我想检查用户是否登录的部分,但它总是给出 false.

其实我找到了另一种方法来替换那个按钮上的文字,但我不会接受我的回答,希望有人能找到问题的真正答案。

我所做的实际上是我在某些情况下使用的 hack(比如当你有一个第三方库不像 DalmTo 所说的那样开源时)。

我发现,该按钮位于 <span> 元素中,其中定义了 class:

<span class="gapi-analytics-auth-styles-signinbutton-buttonText">Access Google Analytics</span>

所以我决定用CSS来替换文字:

span.gapi-analytics-auth-styles-signinbutton-buttonText {
    visibility: hidden;
}
span.gapi-analytics-auth-styles-signinbutton-buttonText:after {
    content: 'Bejelentkezés a Google Analyticsbe';
    display: block;
    visibility: visible;
    padding: 5px;
    margin-top: -18px;
    margin-left: -13px;
}

现在,ta'da:

1) 没有找到允许更改按钮文本的选项

无论如何,用css甚至javascript改变应该没问题

只要能给出想要的结果就可以了

2) 而不是在用户未登录时隐藏 container ...

--> 默认隐藏 container

然后在用户登录时取消隐藏,使用 signIn 事件

例如

<style>
  .hidden {
    display: none;
    visibility: hidden;
  }
</style>

<div class="hidden" id="container"></div>

<script>
  gapi.analytics.auth.authorize({
    userInfoLabel: 'Logged in as: ',
    container: 'embed-api-auth-container',
    clientid: 'CLIENTID'
  });

  gapi.analytics.auth.on('signIn', function() {
    // un-hide container
    document.getElementById('container').className = '';
  });
</script>