GWT <script>标记未正确加载</script>

时间:2011-09-29 18:54:38

标签: java javascript html facebook gwt

我在头标记中定义了一个函数<script> functionX(a,b,c) ....</script>

召唤一些第三方js。实际功能如下:

    <script>
    function fbc(d, s, id) 
    {     var js, fjs = d.getElementsByTagName(s)[0];
          if    (d.getElementById(id)) {return;}    
          js = d.createElement(s); js.id = id;      
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";  
          fjs.parentNode.insertBefore(js, fjs);   
    }
    </script>

以后我想调用那个函数。我用以下方式调用它和HTML widjet:

    HTML html = new HTML();
    setHTML(
            "<script>"+
            "   fbcomment(document, 'script', 'facebook-jssdk');   "+
            "</script> "+  
            "<fb:comments width=\"600\" num_posts=\"2\" href=\"http://www.woojah.com\"></fb:comments>");

但是,它没有正确执行。任何建议都非常有用。

1 个答案:

答案 0 :(得分:3)

使用JSNI调用外部函数更为惯用:

native void facebookComment(Document d, String s, String id) /*-{
  fbc(d, s, id);
}-*/;

void myFunction() {
  facebookComment(Document.get(), "script", "facebook-jssdk");
}