如何使用javascript将facebook的按钮翻译成另一种语言?

时间:2011-09-09 00:07:54

标签: javascript facebook

我有一个页面,默认情况下会加载英文版facebook的按钮。我只能使用javascript操作页面,并且无法访问某些内容,即facebook脚本。所以,我怎么能把按钮翻译成另一种语言,比如说西班牙语?感谢。

3 个答案:

答案 0 :(得分:7)

facebook连接javascript的来源是:http://connect.facebook.net/en_US/all.js

只需将en_US更改为您想要的语言环境即可。 en_ES是西班牙的语言环境,所有facebook语言环境的列表位于http://facebook.com/translations/FacebookLocales.xml

答案 1 :(得分:4)

这将是非常困难的 - 没有'好'的方式来做到这一点。这是因为like按钮位于iframe内部,您无法使用javascript或其他任何内容从页面中访问它的内容。

您可以操纵iframe的src属性 - 查看facebook文档,看看您是否可以传递语言参数 - 例如:&lang=es在网址的末尾。

已更新 - 网址参数为区域设置,如下所示:& locale = es_ES

答案 2 :(得分:0)

其他人正在谈论iFrame,我在Facebook页面上看不到任何内容。如果您可以使用GreaseMonkey,或者能够通过JS访问链接,您可以使用以下内容:

  1. jQuery的:

    $('.liketext').html('Something Else')
    
  2. JavaScript的:

    function getElementsByClass(_class,_obj,_tag) {
       var found = new Array();
       if ( _obj == null )  _obj = document;
       if ( _tag == null )  _tag = '*';
    
       var els     = _obj.getElementsByTagName(_tag);
       var pattern = new RegExp("(^|\\s)"+_class+"(\\s|$)");
    
       for (var n=els.length, j = 0; n--; ) {
          if ( pattern.test(els[n].className) ) {
             found[j] = els[n];
             j++;
          }
       }
       return found;
    }
    
    var likes = getElementsByClass('liketext',document);
    for (var n=likes.length; n--; )
       likes[n].innerHTML = "NEW LIKE TEXT";
    

  3. 定位您的iFrame:

    • document.getElementById('<your iFrame ID').contentWindow.document;
      
    • window.frames[0]
      

    示例:

    • var iF = document.getElementById('<your iFrame ID>').contentWindow.document;
      // var iF = window.frames[0].document;  // alternative to above
      
      var likes = getElementsByClass('liketext',iF);
      for (var n=likes.length; n--; )
         likes[n].innerHTML = "NEW LIKE TEXT";