加载javascript和iFrame之间的通信

加载javascript和iFrame之间的通信,javascript,jquery,iframe,cross-domain,Javascript,Jquery,Iframe,Cross Domain,我开发了一些javascript代码,可以在页面上呈现iframe。在框架内,它加载各种社交网络API,如facebook、twitter、linked in等。它基本上是一个允许用户登录其社交网络的网站工具。我还创建了一个简单的jQuery插件,将这个iframe加载到一个模式弹出窗口中 问题是: 主iframe加载到站点上,但是开发人员也希望在同一页面上使用jquery插件。它工作得很好,但是所有的javascript都是第二次加载的。因此,基本上这是一种巨大的资源浪费,因为每个社交网络ap

我开发了一些javascript代码,可以在页面上呈现iframe。在框架内,它加载各种社交网络API,如facebook、twitter、linked in等。它基本上是一个允许用户登录其社交网络的网站工具。我还创建了一个简单的jQuery插件,将这个iframe加载到一个模式弹出窗口中

问题是: 主iframe加载到站点上,但是开发人员也希望在同一页面上使用jquery插件。它工作得很好,但是所有的javascript都是第二次加载的。因此,基本上这是一种巨大的资源浪费,因为每个社交网络api都要加载两次。我想知道是否有办法跟踪api已经加载,并停止再次加载它们。这两个iFrame完全相同

我尝试向window.top添加一些属性,但由于跨域限制,这不起作用。这两个iFrame属于同一个域,但主站点是不同的域

我还想知道iframe是否可以检测主窗口是否加载了jquery,因为即使没有必要也会再次加载jquery

如有任何意见和建议,将不胜感激,
谢谢

您不应该为此使用iframe。这听起来像是你在为用户创建一个“登录弹出窗口”来登录,比如说他们是否单击了“评论”并且还没有登录。只需使用一个div,并将其绝对浮动在页面的其余部分之上。

从google加载jQuery,并建议top site这样做。jQuery正在从google加载到top site,但iframe不知道这一点,然后再次加载jQuery。(顶级站点和iframe不在同一个域中)。猜猜看,浏览器是智能的。他们会缓存脚本,如果你引用同一个链接,那么现代浏览器不会下载两次。我使用iframe,因为它是一种javascript,任何人都可以安装在他们的网站上,以实现社交网络登录。(类似于janrain)。