Javascript dijit.Dialog和远程内容出现问题

Javascript dijit.Dialog和远程内容出现问题,javascript,dojo,Javascript,Dojo,当用户单击链接时,我试图打开一个dijit.Dialog 此外,我想让这个对话框在对话框打开时获取iframe的远程内容(例如google主页),而不是在包含对话框的页面加载时 以下是JS: dojo.require("dijit.Dialog"); dojo.require("dijit.form.Button"); function showDialog() { console.log('showDialog'); dojo.byId('ifr').src = 'http

当用户单击链接时,我试图打开一个dijit.Dialog

此外,我想让这个对话框在对话框打开时获取iframe的远程内容(例如google主页),而不是在包含对话框的页面加载时

以下是JS:

dojo.require("dijit.Dialog");
dojo.require("dijit.form.Button");


function showDialog() {
    console.log('showDialog');
    dojo.byId('ifr').src = 'http://www.google.fr';
    dijit.byId('dialogOne').show();
}
var link = dojo.byId('link');
dojo.connect(link, 'onclick', showDialog);​
以下是HTML:

<a href="#" id="link">open link</a>

<div id="dialogOne" data-dojo-type="dijit.Dialog" title="My external dialog">
<iframe id='ifr' width='300px' height='450px'>         </iframe>
</div>​
以下是JSFIDLE:


然而,这似乎不起作用……

我完全误解了你的问题,继续进行黑客攻击

这不会加载远程内容,但可以修复所有其他问题

请参见此处的演示:

Javascript

require(["dojo/parser", "dojo/on", "dojo/dom", "dijit/registry"], 
function(parser, on, dom, registry) {
    parser.parse();
    on(dom.byId("link"), "click", function(e) {
        registry.byId('dialogOne').show();
    });
});​
HTML

<a href="#" id="link">Click to Open Dialog</a>    
<div id="dialogOne" data-dojo-type="dijit/Dialog" title="My external dialog">
    <div id="foo" data-dojo-type="dojox/layout/ContentPane" href="http://fiddle.jshell.net/259fD/show/">    
    </div>
</div>​

我完全误读了你的问题,然后继续进行黑客攻击

这不会加载远程内容,但可以修复所有其他问题

请参见此处的演示:

Javascript

require(["dojo/parser", "dojo/on", "dojo/dom", "dijit/registry"], 
function(parser, on, dom, registry) {
    parser.parse();
    on(dom.byId("link"), "click", function(e) {
        registry.byId('dialogOne').show();
    });
});​
HTML

<a href="#" id="link">Click to Open Dialog</a>    
<div id="dialogOne" data-dojo-type="dijit/Dialog" title="My external dialog">
    <div id="foo" data-dojo-type="dojox/layout/ContentPane" href="http://fiddle.jshell.net/259fD/show/">    
    </div>
</div>​