Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
dojo对话框位置_Dojo - Fatal编程技术网

dojo对话框位置

dojo对话框位置,dojo,Dojo,我有一个iFrame,它有一个dijit.Dialog。由于这个iframe的宽度和高度都很小,我想知道是否可以将这个对话框放在父窗口中。 我试着做: var parent_pane = parent.dijit.byId("testpane"); //testpane is in the parent window dijit.byId("linkedResourcePopup").placeAt(parent_pane); dijit.byId("linkedResourcePopup

我有一个iFrame,它有一个dijit.Dialog。由于这个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
这可能吗。?
谢谢您的帮助。

您收到此错误是因为
parent.dijit.byId(“testpane”).appendChild
不是函数


您需要将DOM节点传递到
placeAt
。您可以通过
parent\u窗格访问父窗口小部件节点。domNode

placeAt根据以下条件接收domNode:

dojo.place(node, refNode, pos);
节点:可以是字符串或DOM节点。
refNode:可以是字符串(解释为DOM节点的id)或DOM节点。
位置:可选参数。可以是数字或以下字符串之一:“之前”、“之后”、“替换”、“仅”、“第一个”或“最后一个”。如果省略,则假定为“最后”

我认为你应该做的是:

 var parent_pane = parent.dijit.byId("testpane"); //testpane is in the parent window
 dijit.byId("linkedResourcePopup").placeAt(parent_pane.domNode);
 dijit.byId("linkedResourcePopup").show();

所以你的意思是,因为它属于不同的DOM,所以不能这样做?不,可以这样做。您只需要将parent_pane.domNode传递给placeAt函数,而不仅仅是parent_pane小部件