Javascript 如何从在该模态中打开的iframe访问包含模态的父窗口 $(function () { $("*[data-modal]").click(function (e) { e.preventDefault(); var href = $(this).attr('href'); if (href.indexOf('#') != 0) { $('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal(); } }); });
我有一个名为parent.html的html页面,它有引导手风琴。通过单击accordion上的链接,它将调用另一个页面search.html,并在模式上打开iframeJavascript 如何从在该模态中打开的iframe访问包含模态的父窗口 $(function () { $("*[data-modal]").click(function (e) { e.preventDefault(); var href = $(this).attr('href'); if (href.indexOf('#') != 0) { $('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal(); } }); });,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个名为parent.html的html页面,它有引导手风琴。通过单击accordion上的链接,它将调用另一个页面search.html,并在模式上打开iframe $(function () { $("*[data-modal]").click(function (e) { e.preventDefault(); var href = $(this).attr('href'); if (href.indexOf('#') != 0)
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
search.html有一个按钮“finish”,其功能是关闭模式,在accordion上发布数据,accordion应该保持打开状态
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
我试过了。开瓶器()。它似乎不起作用。有什么建议吗
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
parent.html
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
花店
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
找花店
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
$(函数(){
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
$(“*[数据模式]”)。单击(函数(e){
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
e、 预防默认值();
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
var href=$(this.attr('href');
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
如果(href.indexOf('#')!=0){
$(“×”).modal();
}
});
});
search.html
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
开始
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
$(文档).ready(函数(){
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
如果(顶部===窗口){
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
警报(“此页面不在iframe中”);
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
}否则{
警惕(“我在这里”);
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
$('.my list')。单击(函数(){
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
警报(“即时点击”);
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
$('.modal',opener.document).dialog('close');
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
});
}
});
您可以尝试使用postMessage:
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
您应该从search.html向主页发送命令,并让主页处理收到消息的事件
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
你会在上面的链接中找到你需要的东西
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
示例(父页面):
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
示例(search.html):
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
加载页面时,应“启动”父页面中的windows.onmessage。“buttonClick()”函数可以在何时何地调用,以便将消息发送到将执行某些内容的父页面(在本例中,是使用accordion执行的内容)
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
编辑:
要关闭模式,请尝试以下方法:
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
家长:
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});
window.onmessage = function(e){
//Here is the data that you receive from search.html
var DataReceived = e.data;
var OriginUrl = e.origin;
if (e.data == 'close') {
$(this).modal('hide'); //Example code, you can run what you want
}
};
搜索:
function buttonClick() {
var curDomain = location.protocol + '//' + location.host; //This will be received as e.origin (see above)
var commandString = "close"; //This will be received as e.data
parent.postMessage(commandString,curDomain); //Sends message to parent frame
}
在这种情况下,向父帧发送消息“close”。当家长收到消息时,他会检查消息是否为“关闭”,然后运行所需的代码(在本例中,您使用$(“.modal”).dialog('close'))关闭您的模式。因此,如果我必须在家长窗口上关闭模式,我是否必须在子html页面中:parent.postmessage(modal)('close')),curDomain;检查新示例!请记住,您发送了一条包含数据的消息(在本例中为“close”),并且当父级收到此消息时,您可以运行所需的所有代码。您还可以设置除“close”之外的更多命令。无法使其工作。我缺少了什么?脚本可以工作,您只需替换$(“.modal”)。对话框(“close”);使用$('.modal').modal('hide');它将工作!
$(function () {
$("*[data-modal]").click(function (e) {
e.preventDefault();
var href = $(this).attr('href');
if (href.indexOf('#') != 0) {
$('<div id="searchBox" class="modal bigModal" data-backdrop="static"><div class="searchModal-header gutter10-lr"><button type="button" onclick="window.location.reload()" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class=""><iframe id="search" src="' + href + '" class="searchModal-body"></iframe></div></div>').modal();
}
});
});