在不打开新窗口的情况下创建推文按钮

Zac*_*ton 5 javascript twitter iframe jquery

我想在网站上添加一个"推特"按钮.很简单吧?问题是该网站是在一个不特别处理弹出窗口的嵌入式平台上运行的,所以我试图在页面内部做所有事情.

我能够成功创建我的推文按钮,附加一个onClick处理程序,并为相关内容构建一个正确的twitter.com/share URL.当我在window.open的新窗口中打开该URL时,一切正常.但是,如果我尝试在iframe中打开URL,则框架内不会加载任何内容.甚至将http://twitter.com加载到iframe中也会以同样的方式失败.但是,加载Google或任何其他网站似乎工作正常.

对我在这里缺少什么的想法?谢谢!--zach

编辑:是的 ,他们正在检测负载上的iframe并消隐页面:

if (window.top !== window.self) {
    document.write = "";
    window.top.location = window.self.location; 
    setTimeout(function(){ document.body.innerHTML='';},1);
    window.self.onload=function(evt){document.body.innerHTML='';};
Run Code Online (Sandbox Code Playgroud)

}

任何合理的解决方法,或者我是不是通过oauth编写自己的auth管道?我不需要他们的API中的任何内容,只需让用户发送他们自己的帐户.

Ben*_* L. 10

Twitter(像Stack Overflow)可能正在使用一些Javascript来确保它们不会出现在iFrame中:

if(top!=self){
     //hates you
}
Run Code Online (Sandbox Code Playgroud)

我最近碰到了类似的东西,最后在没有iFrame元素的情况下重新做了我的应用程序的一部分.