1

Vaadin v7 にツイートを埋め込もとしています:

    Label oneTweet = new Label();

    String s = "<blockquote class=\"twitter-tweet\"><p>Four more years. <a href=\"http://t.co/bAJE6Vom\" title=\"http://twitter.com/BarackObama/status/266031293945503744/photo/1\">twitter.com/BarackObama/st…&lt;/a></p>&mdash; Barack Obama (@BarackObama) <a href=\"https://twitter.com/BarackObama/status/266031293945503744\">November 7, 2012</a></blockquote>";
    s = s + "<script async src=\"http://platform.twitter.com/widgets.js\" charset=\"utf-8\"></script>";

    oneTweet.setValue(s);
    oneTweet.setContentMode(ContentMode.HTML);

    layout.addComponent(oneTweet);

問題は、Vaadin がスクリプト ファイルを取得しないことですwidget.js@JavaScript( {"http://platform.twitter.com/widgets.js"} ) ソースコードの先頭に置くことで強制しようとしまし た。ファイルを取得しますが、埋め込まれたツイートのスタイルはまったく設定しません。誰かが以前にこれをやったことがあるかどうか疑問に思っていました。

4

2 に答える 2

1

ContentMode Label.CONTENT_XHTMLまたはLabel.CONTENT_RAWで動作しますか? 頭に浮かぶもう 1 つの推測は、スクリプトを gwt.xml ファイルに含めて、Label から取り出すことです。幸運を。

于 2013-03-15T08:07:48.337 に答える
1

他の誰かが同じ質問をしている場合に備えて、ツイートの読み込みの最後にこれを呼び出すことで解決しました。

    String script = "!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=\"http://platform.twitter.com/widgets.js\";fjs.parentNode.insertBefore(js,fjs);}}(document,\"script\",\"twitter-wjs\");";
    Page.getCurrent().getJavaScript().execute(script);

JavaScript スニペットは、 Twitterのガイドライン(トラブルシューティング) から取得しています。

于 2013-03-18T22:36:58.613 に答える