javascript - 加载 javascript 和 iframe 之间的通信

标签 javascript jquery iframe cross-domain

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

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

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

我还想知道 iframe 是否可以检测主窗口是否已加载 jquery,因为即使不需要,也会再次加载 jquery。

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

最佳答案

您不应该为此使用 iframe。听起来您正在创建一个“登录弹出窗口”供用户登录,假设他们点击了“评论”并且尚未登录。只需使用一个 div,并将其绝对 float 在页面其余部分上方。

关于javascript - 加载 javascript 和 iframe 之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7812923/

相关文章:

JavaScript 原型(prototype)设计

javascript - 如何使用 Javascript 下载脚本并向 GET 提供 header ?

javascript - AngularJS 工厂和 Controller 代码,不产生任何东西

javascript - HTML代码转PNG图片

javascript - 尝试在div中的iframe中随机分配多个YouTube视频链接

c# - 删除仅在登录页面中自动添加的 X-Frame-Options

javascript - 应用服务未获取JS发送的参数值

javascript - 检测jQuery中的输入变化?

javascript - 页面加载后动态加载谷歌字体

iframe - YouTube未加载高分辨率缩略图