2012-10-25 49 views
1

我試圖在用戶單擊鏈接時打開dijit.DialogDijit.Dialog和遠程內容問題

此外,我想爲這個對話,以獲取iframe的遠程內容(例如谷歌的主頁),當對話框打開,而不是當含有該對話框加載頁面。

這裏是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

我完全誤解了你的問題,然後開始黑客入侵。

這不會加載遠程內容,但會修復所有其他問題。

觀看演示在這裏: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>​ 
+0

謝謝Layke! – balteo