3

简介:我是 php 和 Javascript 的新手,并且一直在尝试为我的网站解决这个问题(这里是这个问题的另一个版本),但是在实施LocalPCguy的答案时遇到了麻烦。(简而言之:问题是激活无限滚动后,社交按钮适用于加载的第一个帖子,但不适用于随后加载的帖子)。

  • 我正在使用 WordPress 他们,我已经将我的社交按钮添加到一个现有的 php 文件中,该文件生成每个帖子的大部分外观。我似乎将它们添加到正确的位置,因为按钮出现在我希望它们出现在每个帖子上的位置(仅适用于页面上的第一个)。像其他两个发布这个问题的人一样,我使用digg digg作为我的社交插件。

  • 目前,生成社交按钮的 php 文件中的代码如下所示:

    <div class="sharing-button">
        <?php dd_google1_generate('Compact (20px)') ?>                                                          
    </div>
    

就像我说的那样,这会使按钮出现在第一个加载的帖子上,但是一旦无限滚动尝试加载其他帖子,社交按钮就不会出现在这些帖子上。

现在我尝试了以下方法:

  • 在上面或下面添加代码(取自这里的答案),或者在我<div>包含 php 文件中的按钮的内部。

    if (typeof gapi !== "undefined") { gapi.plusone.go(); }
    
  • 那没有用,我认为这是因为 .php 文件需要某种信号才能知道它需要运行 javascript 操作。所以我环顾四周,发现了一些关于如何做到这一点的建议,这里这里。在这两种情况下,我都没有设法让按钮正确显示。以下是这些尝试中最不愚蠢的:

    <?php
        echo '<script type="text/javascript"> 
            if (typeof gapi !== "undefined") { gapi.plusone.go(); }';
        echo '</script>';
    ?>
    
  • 我还想也许我需要将一个参数传递给gapi.plusone.go(),并且我尝试传递我<div>上面的共享按钮,但这也不起作用(php 块中的 javascript 脚本中的 php 代码......并没有寄予厚望)。

在这一点上,我不确定该怎么做——我觉得解决方案可能很简单,但我完全陷入困境,花了几个小时阅读关于 javascript 集成到 php 等的线程。

有谁知道如何将Javascript 解决方案应用于我的 .php 依赖的 Wordpress 主题?

非常感谢!

4

2 回答 2

1

您需要启动按钮的 javascript 以便它们工作,因为无限滚动使用 ajax 加载下一组帖子。我发现了一个例子,但如果插件使用 FBML,它只适用于 facebook:

$(document).ajaxComplete(function(){
    try{
        FB.XFBML.parse(); 
    }catch(ex){}
});

我正在使用来自 facebook 的自定义实现 Like Box 和无限滚动,这很好用。

于 2013-07-25T09:13:08.663 回答
1

简短的回答:这是不可能的。

长答案:第一个是 PHP,第二个是 javascript。PHP“程序”在服务器上运行,它是您的网络提供商的服务器。该服务器可以解决所有 PHP 的问题。完成此操作后,网站的文件将发送到您的计算机。除其他内容外,它还包含 javascript。

而这个 javascript 只能在您正在查看的计算机上运行。一旦您的浏览器加载页面并开始运行 javscript,再向服务器询问更多信息已经太迟了。

有一些技术允许这样做(AJAX 是关键字),但这是另一个问题:-)

于 2013-03-25T23:30:16.427 回答