【问题标题】:Blog Social Network Connect Integration with AJAX博客 Social Network Connect 与 AJAX 的集成
【发布时间】:2011-12-15 14:57:01
【问题描述】:

使用名为 Wordpress Social Login 的 wordpress 插件,我允许用户通过登录各种社交网络来发表评论。

问题是在新窗口中进行身份验证并且该窗口关闭后,原始窗口然后刷新。我希望这个窗口不要刷新,而是触发一些 javascript 来重新加载它的某些部分。

我在 authentication.php 中找到了关闭窗口的行,但找不到刷新当前页面的原因。

大量 PHP 完成后,这发生了......

<html>
<head>
<script>
function init() {
    window.opener.wsl_wordpress_social_login({
        'action'   : 'wordpress_social_login',
        'provider' : '<?php echo $provider ?>'
    });

    window.close();
}
</script>
</head>
<body onLoad="init();">
</body>
</html>

关闭弹出窗口。是什么让主窗口刷新以及如何停止它。

【问题讨论】:

  • 主窗口可能有一些功能可以检查(像每秒一样)另一个窗口是否仍然打开。这就是它如何检测到弹出窗口已关闭,然后刷新主窗口。我从未使用过该插件,从未使用过 Wordpress,但这就是我看到其他类似小部件的工作方式。
  • 是的,主窗口中的某些 JavaScript 函数将具有从 setInterval() 调用的函数,以定期检查该弹出窗口是否仍然打开,如果未打开,则执行 window.location 之类的操作.reload(true)
  • 没有 setInterval、setTimeout 的证据,输入字段中有大量 window.location.href 不会对其产生影响。在身份验证中有这条线。我删除了它,但这样做不会触发来自社交网络的响应
  • 我认为它必须由弹出窗口触发,因为如果我在它运行它的脚本之前关闭它,它不会刷新主页
  • 在主窗口中包含的 js 文件中找到这个函数:wsl_wordpress_social_login 我想它可能在这个函数中。

标签: php jquery wordpress social-networking


【解决方案1】:

我确定父窗口不检查子窗口是否关闭,但弹出窗口有类似:

&lt;body onunload="opener.location=(opener.location)"&gt;

window.opener.location.href = window.opener.location.href;

脚本中的某处。

【讨论】:

  • 就是这样。子窗口关闭父窗口并以这种方式将其触发到另一个位置。
【解决方案2】:

弹出窗口似乎在关闭前调用wsl_wordpress_social_login

尝试在插件代码上找到这个功能

【讨论】:

    猜你喜欢
    • 2010-11-24
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 2016-04-24
    • 2013-11-20
    相关资源
    最近更新 更多