【问题标题】:Google Friend Connect + CSS Style SwitchingGoogle 朋友群 + CSS 样式切换
【发布时间】:2011-12-28 08:12:27
【问题描述】:

我一直在我的博客 www.whataboutki.com 上玩 CSS 样式切换,还添加了 Google 朋友群。我现在想在用户更改样式时更改 GFC 小部件的颜色。这是 GFC 的脚本... div id="div-1229769625913" 这是否意味着我可以从我的 css 文件中访问它?如果是这样,我该怎么做?

<!-- Include the Google Friend Connect javascript library. -->
<script type="text/javascript" src="http://www.google.com/friendconnect/script/friendconnect.js"></script>

<!-- Define the div tag where the gadget will be inserted. -->
<div id="div-1229769625913" style="width:260px;border:1px solid #cccccc;"></div>
<!-- Render the gadget into a div. -->
<script type="text/javascript">
    var skin = {};
    skin['HEIGHT'] = '385';
    skin['BORDER_COLOR'] = '#cccccc';
    skin['ENDCAP_BG_COLOR'] = '#e0ecff';
    skin['ENDCAP_TEXT_COLOR'] = '#333333';
    skin['ENDCAP_LINK_COLOR'] = '#0000cc';
    skin['ALTERNATE_BG_COLOR'] = '#ffffff';
    skin['CONTENT_BG_COLOR'] = '#ffffff';
    skin['CONTENT_LINK_COLOR'] = '#0000cc';
    skin['CONTENT_TEXT_COLOR'] = '#333333';
    skin['CONTENT_SECONDARY_LINK_COLOR'] = '#7777cc';
    skin['CONTENT_SECONDARY_TEXT_COLOR'] = '#666666';
    skin['CONTENT_HEADLINE_COLOR'] = '#333333';
    google.friendconnect.container.setParentUrl('/' /* location of rpc_relay.html and canvas.html */);
    google.friendconnect.container.renderMembersGadget(
     { id: 'div-1229769625913',
       site: '10794935298529647173'},
      skin);
</script>

【问题讨论】:

  • 能否请您缩进您发布的代码?在行首使用四个空格,这样代码就变得可读了:)

标签: css google-friend-connect styleswitching


【解决方案1】:

我会先尝试查看div-1229769625913 是否会在页面之间发生变化。如果没有,那么您可以在 CSS 文件中重新设置样式,否则您必须在样式切换器(我假设是 JS)中更改 skin 的颜色。

【讨论】:

    【解决方案2】:

    ID 由 GFC 生成。它使用在其 *.gmodule.com 服务器上托管您的小工具代码的 iFrame 填充 DIV

    理论上你可以在加载后访问和修改他们的 DOM 以改变他们的样式

    尝试更改“皮肤”映射中样式的值

    例如。皮肤['ALTERNATE_BG_COLOR'] = '#ffffff';

    祝你好运!

    【讨论】:

      【解决方案3】:

      页面之间的 div id 保持不变,但是,它会生成一个 iframe,并且 GFC 小工具会显示在该 iframe 中。您的 CSS 样式表无法控制该 iframe 内容的样式,因此完成此操作的唯一方法是使用一些 javascript。

      最简单的解决方案是删除该哈希中的所有值,并在呈现小工具之前,根据当前使用的样式表替换任何合适的值。这样您就不必弄乱 iframe 的 DOM,因为 Google 不希望您这样做。

      所以你的代码可能看起来像这样:

      <!-- Include the Google Friend Connect javascript library. -->
      <script type="text/javascript" src="http://www.google.com/friendconnect/script/friendconnect.js"></script>
      
      <!-- Define the div tag where the gadget will be inserted. -->
      <div id="div-1229769625913" style="width:260px"></div>
      <!-- Render the gadget into a div. -->
      <script type="text/javascript">
          function currentSkin() {
            // Put some real code that detects what the
            // right color scheme is here.
            return 'VERY_BLUE';
          }
      
          var skins = {};
          skins['VERY_BLUE'] = {};
          skins['VERY_RED'] = {};
          skins['VERY_BLUE']['HEIGHT'] = '385';
          skins['VERY_BLUE']['BORDER_COLOR'] = '#0000ff';
          skins['VERY_BLUE']['ENDCAP_BG_COLOR'] = '#0000ff';
          skins['VERY_BLUE']['ENDCAP_TEXT_COLOR'] = '#0000ff';
          skins['VERY_BLUE']['ENDCAP_LINK_COLOR'] = '#0000ff';
          skins['VERY_BLUE']['ALTERNATE_BG_COLOR'] = '#0000ff';
          skins['VERY_BLUE']['CONTENT_BG_COLOR'] = '#0000ff';
          skins['VERY_BLUE']['CONTENT_LINK_COLOR'] = '#0000ff';
          skins['VERY_BLUE']['CONTENT_TEXT_COLOR'] = '#0000ff';
          skins['VERY_BLUE']['CONTENT_SECONDARY_LINK_COLOR'] = '#0000ff';
          skins['VERY_BLUE']['CONTENT_SECONDARY_TEXT_COLOR'] = '#0000ff';
          skins['VERY_BLUE']['CONTENT_HEADLINE_COLOR'] = '#0000ff';
          skins['VERY_RED']['HEIGHT'] = '385';
          skins['VERY_RED']['BORDER_COLOR'] = '#ff0000';
          skins['VERY_RED']['ENDCAP_BG_COLOR'] = '#ff0000';
          skins['VERY_RED']['ENDCAP_TEXT_COLOR'] = '#ff0000';
          skins['VERY_RED']['ENDCAP_LINK_COLOR'] = '#ff0000';
          skins['VERY_RED']['ALTERNATE_BG_COLOR'] = '#ff0000';
          skins['VERY_RED']['CONTENT_BG_COLOR'] = '#ff0000';
          skins['VERY_RED']['CONTENT_LINK_COLOR'] = '#ff0000';
          skins['VERY_RED']['CONTENT_TEXT_COLOR'] = '#ff0000';
          skins['VERY_RED']['CONTENT_SECONDARY_LINK_COLOR'] = '#ff0000';
          skins['VERY_RED']['CONTENT_SECONDARY_TEXT_COLOR'] = '#ff0000';
          skins['VERY_RED']['CONTENT_HEADLINE_COLOR'] = '#ff0000';
          google.friendconnect.container.setParentUrl('/' /* location of rpc_relay.html and canvas.html */);
          google.friendconnect.container.renderMembersGadget(
           { id: 'div-1229769625913',
             site: '10794935298529647173'},
            skins[currentSkin()]);
      </script>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-21
        相关资源
        最近更新 更多