博客 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】:我确定父窗口不检查子窗口是否关闭,但弹出窗口有类似:
<body onunload="opener.location=(opener.location)">
或
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)