创建 iframe 嵌入并使用模态
Creating iframe embeds and using modals
我工作的公司正试图提出他们自己的嵌入按钮版本。逻辑类似于Twitter和Facebook提供的逻辑。与Twitter不同,我们使用模态来打开新窗口。目前,我们有开发人员一个适合我们需求的模态库。
现在,我将解释我们遵循的过程:
- 我们的嵌入脚本将加载到用户的网站中。
- 它查找我们将提供给用户的链接,并将加载一个 iframe 来代替它。
- iframe 使用两个脚本 — jQuery 和我们的模态库。
- 单击iframe中的按钮时,模态应该打开,但它存在于我们的域中,并且应该在父窗口中打开。
根据我对形势的分析,我提出了以下问题:
-
我环顾了网络,但我有一种感觉,在父窗口中打开模态是不可能的。有解决方法吗?
-
为了防止点击劫持,我们将
X-Frame-Options
设置为SAMEORIGIN
.我们如何从我们的网站加载 iframe 中的内容? -
如果我们跳过在 iframe 中加载按钮并修改父 DOM,我们可以使用我们的模态脚本,但是将我们自己的样式应用于按钮变得很痛苦,因为我们将对所有样式使用
important!
。我们还剩下哪些其他选择?
要回答你的第一个问题,这并非不可能,因为我做了类似的事情,因此我认为它也应该解决你的第三个问题。
因此,在父页面上,您将有一个脚本,例如
function showModal(display) {
var colorbox = $('#colorbox');
var overlay = $('#cboxOverlay');
if (display) {
colorbox.fadeIn("medium");
} else {
colorbox.fadeOut("medium");
overlay.fadeOut("medium");
}
}
我使用过colorbox,但您可以使用自定义模态,我还使用了一个参数,因此您可以随意显示和隐藏它。
然后从你的 iframe 中,你可以使用这个脚本来调用你的模态
javascript: window.parent.showModal(true);
希望这有帮助。
1(你为什么不直接从iframe打开模态?如果从父窗口或子窗口调用它,则没有区别。
2( 使用 JSON-P
相关文章:
- 我想使用模态通过php文件发送邮件,并且我希望在提交关闭后关闭pop
- 打开一个模态并将其链接到AngularJS中的指令
- SemanticUI模态not onDeny/onApprove事件未激发
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 如何通过所选索引(AngularJS)在模态弹出窗口中显示数据
- 包含数据库中相关信息的开放模态
- bootstrap消除模态并显示另一个模态
- iframe模态无法关闭
- 如何将iFrame与带有'#'在一个简单的模态框中
- 打开一个模态(在Codeigniter中),该模态从依赖于phpvar的URL加载(在iframe中)内容
- 创建 iframe 嵌入并使用模态
- 模态框高度宽度根据 iframe 的高度宽度进行固定
- jquery模态对话框背景并没有扩展到iframe之外
- 香草JS模态与良好的iFrame支持
- 如何显示模态窗口以重叠iframe
- 如何从iframe中访问包含模态的父窗口,在该模态中打开
- 当退出模态窗口时停止播放iframe视频
- jQuery iFrame模态返回值
- 根据IFrame内容动态调整JQuery模态对话框的大小
- 如何打开一个模态对话框弹出从iframe (sharepoint托管的应用程序,(应用程序部分))在父窗口