博客 Social Network Connect 与 AJAX 的集成

Posted

技术标签:

【中文标题】博客 Social Network Connect 与 AJAX 的集成【英文标题】:Blog Social Network Connect Integration with 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 我想它可能在这个函数中。 【参考方案1】:

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

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

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

脚本中的某处。

【讨论】:

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

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

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

【讨论】:

以上是关于博客 Social Network Connect 与 AJAX 的集成的主要内容,如果未能解决你的问题,请参考以下文章

如何在短时间内快速入门 Social Network Analysis

B1. Social Network (easy version)1000 / 队列模拟

Codeforces#590(1234)——B2Social Network (hard version)

Codeforces Round #590 (Div. 3) B2. Social Network (hard version)

并查集最大连通块大小D. Social Network

关于connect: network is unreachable 问题的解决