1

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/

しかし、これはうまくいかないようです...

4

1 に答える 1

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>​
于 2012-10-25T18:11:53.727 に答える