2

我想知道何时加载推文。我有这种帖子http://pego-design.com/remarky-brisi/media-twitter-embeds/或这里http://en.support.wordpress.com/twitter/twitter-embeds/ 并想知道这段代码创建的奇怪iframe的高度:

<div class="entry-content">
<blockquote class="twitter-tweet" width="550"><p>Really cool to read through and find so much awesomeness added to WordPress 3.6 while I was gone. I should take three weeks off more often.</p>
<p>&mdash; Andrew Nacin (@nacin) <a href="https://twitter.com/nacin/status/319508408669708289">April 3, 2013</a></p></blockquote>
<p><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>

丑陋的 js 演示:http: //jsfiddle.net/qWHc5/2/

如果您查看此演示,您可以看到 iframe 的第一个和最终大小(93,213,213,213... 或 93,93,93,213,213...),我需要知道如何在没有丑陋解决方案的情况下获得最后一个值。

我试试这个如何检测是否加载了 iframe?但不起作用……</p>

更新:我发现这个版本的widgets.js https://gist.github.com/johan/4479186带有我不知道如何使用的回调,就像这样window.twttr.tfw.callbacks.cb0

4

2 回答 2

2

WordPress 使用 oEmbed 来包含 twitter
您可以在以下位置找到执行此操作的代码wp-includes/class-oembed.php

要影响它,请使用:

function so_17151843_embed ( $provider, $url, $args ) {
  // check $provider if it is twitter
  // change url values to what you want
  $url = add_query_arg( 'maxheight', $url )

  return $url;
}
add_filter( 'oembed_fetch_url', 'so_17151843_embed' );

你可以把这个放在你里面funtions.php
这应该可以帮助你。

于 2013-06-28T07:25:23.627 回答
-1

以下是检查 Twitter 何时准备就绪的正确方法:

if (window.twttr !== undefined) {
    window.twttr.ready(function(){
        console.log("Twitter ready!");
    });
};

迟到的答案,但希望这对未来的用户有所帮助!

于 2013-10-06T21:34:34.823 回答