无法从外部函数关闭简单模式

Can't close Simplemodal from outside function

本文关键字:简单 模式 函数 从外部      更新时间:2023-09-26

所以我创建了一个简单的模态框,里面有一个iframe。 在 iframe 中,我有一个文本框,一旦提交就会调用函数。然后,此函数关闭并执行自己的命令。我想做的是在该人提交其文本以关闭简单模态框之后。我还没有真正看到一个属性允许我为模态设置 id,以便我可以在函数外部引用它。这是我的代码:

模态:

$.modal('<iframe src="chrome-extension://kdcfmjjkjcgaklpmpnhcmieepkiddfen/options.min.html" height="120" width="300" style="border:0">', {
                close: true,
                closeHTML:"",
                containerCss:{
                    backgroundColor:"#000",
                    borderColor:"#000",
                    height:100,
                    padding:0,
                    width:300,
                    height:125
                },
                overlayClose:true,
                opacity:50,
                overlayCss: {backgroundColor:"#000"}
            });

选项.html:

密码消息:

function passMessage() {
        var value = document.getElementById('speechInput').value;
        var event = "commands"
        $.modal.close();
        chrome.extension.sendRequest({command:value}, function(response) {});
    }

如您所见,模态使用 options.min.html 在模态内创建语音输入框。一旦用户停止说话,就会调用另一个函数,其中的值是从该框中获取的。但是 $.modal.close();函数实际上并没有关闭模态,而只是挂起我的程序,它无处可去。我需要知道如何引用在其他地方创建的模态。

感谢您的任何帮助

如果要从 iframe 中关闭模式,请使用以下 JavaScript:

parent.$.modal.close();

至于 ID,SimpleModal 会自动将它们添加到对话框元素中:simplemodal-overlaysimplemodal-containersimplemodal-data