我在从iframe中进行OpenID工作时遇到了一些麻烦。OpenID和Iframes
基本上我加载了主页上的一些重手的内容,我想在系统中建立一个日志,其中页面不需要重新加载(从而重新加载所有内容)。我从使用堆栈交换网站的方式爱上了OpenID,并将其相对较好地整合到了其他项目中。
我觉得要做我想做的事我想尝试和使用iframe(因为新窗口让我哭),但是我偶然发现了某种形式的障碍,接近中间的某个地方以及我的生活想不通怎么回事...
基本上我有一个jQuery的形式产生的DIV和OpenID的形式,似乎工作动态加载的iframe。沿着这些线:
<script type="text/javascript">
contentboxs = 0;
function contentbox() {
if (contentboxs == 0){
$('#mainpage').append("<div id='contentbox'><div style='clear:both;' id='oritext'></div><div id='f_content'><iframe src ='' name='framedcontent' width='580' height='600' scrolling='false'></iframe></div></div>");
$('#f_content').hide();
contentboxs++;
} else {
$('#contentbox-wipe').remove();
$('#contentbox').remove();
contentboxs--;
}
}
function loginpanel(){
contentbox();
if (contentboxs == 1){
$('#oritext').append("<form method='post' action='login.php' name='oidform' target='framedcontent'>Please Select your OpenID Provider: <br/><input type='text' name=\"id\" id='openidbox' /><br /><input type='submit' name='submit' value='Log In' onclick='loginsubmit();' ></form>");
}
}
function loginsubmit() {
$('#oritext').html('');
$('#contentbox').animate({'height':'600px', 'width':'700px', 'margin-top' : '-300px', 'margin-left' : '-350px'},500, 'linear', function() { $('#f_content').show(); });
}
</script>
<a href='javascript:loginpanel();'>login</a>
并据我所知,这一切工作正常。
我的问题就在我重新定向到OpenID的远程站点(再次用JS做沿着这些路线:)
echo("<div><p><center>Redirecting...</center></div>");
echo "<script type='text/javascript'>
function delayer() {
this.location = '".$url."'
}
setTimeout('delayer()', 3000)
</script>";
抱歉,这是一个有点长篇大论,但这里是我的问题(最终):这对我尝试过的一些OID网站很有效,但也有一些给我带来了问题:Google根本无法加载,雅虎和mySpace在iframe中打开,然后立即将整个窗口重定向到主页, OID页面和wordpress分别返回一个错误。
我假设这是一个阻止我窃取登录细节(这不是我想要实现顺便说一句,因此序言)的地方采取的措施,这就够公平了,但仍然血腥加重。
是这里有什么事,我做retardedly,有没有一些办法解决这,如果没有上述情况,是我唯一的其他选项来创建新窗口或建立自己的登录/注册。
如果你已经得到了这个答案,非常感谢你的时间,并且我希望你不会太在意拼写错误。
欢呼的家伙,但我试图避免弹出窗口,因此iframe。我的问题更多地基于为什么这不会发生在我身上,因此我可以绕过它。 – Phood 2010-05-03 22:49:04
不幸的是,由于开放ID提供者的限制,我很确定他们都会在iframe中打开或重定向到页面之外的页面,以防止邪恶的JS能够绑定到页面。 – gnarf 2010-05-03 22:56:20
这就是那个frickin悲剧......不像我想象的那样开放! – Phood 2010-05-03 23:19:59