我有一个有dijit.Dialog的iFrame。由于这个iframe的宽度和高度都很小,我想知道是否可以以某种方式将此对话框放在父窗口中。 我试着这样做:
var parent_pane = parent.dijit.byId("testpane"); //testpane is in the parent window
dijit.byId("linkedResourcePopup").placeAt(parent_pane);
dijit.byId("linkedResourcePopup").show();
这给了我一个关于firebug的javascript错误:
_16c.appendChild is not a function
这可能吗? 谢谢你的帮助。
答案 0 :(得分:1)
您收到此错误是因为parent.dijit.byId("testpane").appendChild
不是函数。
您需要将DOM节点传递给placeAt
。您可以通过parent_pane.domNode
访问父窗口小部件节点。
答案 1 :(得分:0)
placeAt根据以下内容接收domNode:
dojo.place(node, refNode, pos);
node:可以是String或DOM节点
refNode:可以是字符串(解释为DOM节点的id)或DOM节点。
pos:可选参数。可以是以下字符串中的数字或其中一个:“before”,“after”,“replace”,“only”,“first”或“last”。如果省略,则假定为“last”。
我认为你应该做的是:
var parent_pane = parent.dijit.byId("testpane"); //testpane is in the parent window
dijit.byId("linkedResourcePopup").placeAt(parent_pane.domNode);
dijit.byId("linkedResourcePopup").show();