Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在iframe上打开JQuery模型弹出对话框?_Javascript_Jquery_Html_Asp.net Mvc_Iframe - Fatal编程技术网

Javascript 如何在iframe上打开JQuery模型弹出对话框?

Javascript 如何在iframe上打开JQuery模型弹出对话框?,javascript,jquery,html,asp.net-mvc,iframe,Javascript,Jquery,Html,Asp.net Mvc,Iframe,我正在使用jqueryui对话框进行模式弹出。我的页面中也有一些iframes。我从iframe打开模态对话框,但它将在iframe中打开 我想当模型弹出窗口打开,然后用户不能允许点击背景链接 因此,请告诉我如何阻止用户点击背景区域?通过设置model:true可以阻止用户在JQuery中点击背景区域 $(function() { $( "#popupId" ).dialog({ modal: true }); }); 从 对我来说,其中一个有效的方法是在作为

我正在使用
jqueryui对话框
进行模式弹出。我的页面中也有一些
iframes
。我从iframe打开模态对话框,但它将在iframe中打开

我想当模型弹出窗口打开,然后用户不能允许点击背景链接


因此,请告诉我如何
阻止用户点击背景区域

通过设置
model:true
可以阻止用户在
JQuery中点击背景区域

 $(function() {
    $( "#popupId" ).dialog({
       modal: true
    });
 });

对我来说,其中一个有效的方法是在作为对话框的div中有一个iframe,并在open事件上设置它的url属性

比如:

打开对话框 和JS:

不过,你会发现iframe需要一些造型才能让它看起来漂亮

#myIframe{
  height: 580px;
}

iframe是页面中的一个页面。如果在iframe中加载的页面中使用对话框,它将加载到iframe中。您需要做的是添加代码以打开主页面上的对话框,或者使用parent调用父页面并执行javascript代码。如果iframe和父页面共享同一个域,则会出现问题。如果它们是不同的域,则您可以访问父javascript。如果iframe无法访问父javascript,则会出现问题。解决方法是使用postMessage。您需要添加代码以打开主页中的对话框,并使用postMessage在父级和iframe之间进行通信。这是所有浏览器的安全限制

祝你好运

#myIframe{
  height: 580px;
}