javascript - Twitter API 仅显示两个

标签 javascript twitter conditional-statements

我在我的网站上使用 Jason Mayes Twitter JS,一切正常,直到我使用 php 条件语句。

我已将 Jason 的 javascript 包含在我的页面中,如下所示:http://jsfiddle.net/4utuY/1/

fiddle 可以工作,当我将它添加到我的网站时,一切都可以工作,直到我使用 php 条件,导致第三条推文消失。代码如下:

    <?php if (is_page("Youth")) { ?>
        <p><strong>Follow us: <a href="https://twitter.com/brandork">@brandork</a></strong></p>
        <div id="tweets"></div>
        <hr />
    <?php } ?>
    <p><strong>Follow us: <a href="https://twitter.com/epopengate">@epopengate</a></strong></p>
    <div id="talk"></div>
    <?php if (!is_page("Youth")) { ?>
        <hr />
        <p><strong>Follow us: <a href="https://twitter.com/nazcompassion">@nazcompassion</a></strong></p>
        <div id="tweets2"></div>
    <?php } ?>

我为第三个函数创建了另一个名为 twitterFetcher.fetch2 的函数,并且条件有效,但为什么我必须这样做? JS 是否有某种限制阻止显示两个以上?如果我删除条件代码,这三个显示就很好......有什么想法吗?

谢谢,
乔什

最佳答案

看来您的代码存在问题,因为您的 PHP 代码更改了 HTML 输出,这意味着某些元素被删除。

因此,用于调用组件的 JavaScript 文件末尾的 3 行 JavaScript 期望这些 DOM 元素始终存在。

您还需要将这些设置为有条件的。例如,如果您的网站上有 jQuery,您可以使用:

if ($('#tweets').length > 1 ) {
  twitterFetcher.fetch('347356802423345152', 'tweets', 1, true);
}

当然,其他两个也一样。这样,JavaScript 仅在 DOM 元素存在时才执行,因此尝试访问尚不存在的内容时不会抛出错误!

关于javascript - Twitter API 仅显示两个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17200857/

相关文章:

blackberry - 适用于 BlackBerry 应用程序的 OAuth 库(适用于 Twitter 客户端)

python:如果符合条件(字符串比较),如何删除组中的所有项目?

Python:快捷条件表达式

javascript - 错误 : FS. 集合无法删除属于: "images"的文件,而不是: "cfs.images.filerecord"

javascript - Javascript 引用计数中的循环引用

javascript - 更改 JavaScript 中的 JSON 格式

database - 按日期绘制 Twitter 搜索结果的词云? (使用 R)

android - SocialAuth 3.2 推特错误

java - 使用自定义起点对 ArrayList 对象属性进行排序

javascript - 在 Bootstrap 中居中导航元素