dijit.Dialog和远程内容的问题

时间:2012-10-25 14:20:43

标签: 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://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>​

这是jsfiddle:http://jsfiddle.net/8eenG/6/

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

1 个答案:

答案 0 :(得分:1)

我完全误解了你的问题并继续开始黑客攻击。

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

在此处查看演示:http://jsfiddle.net/5uuCX/

<强>的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>​