我有类似的小部件/portlet
<div id="100" class="portlets">
<iframe src="widgets/widget1_iframe.html"></iframe>
</div>
每个 iFrame 中都有另一个 iFrame。我可以添加多个小部件/portlet 并对其进行排序。
我有一个脚本,它(对于每次更改)获取初始 iFrame 的 SRC(因此在本例中为widgets/widget1_iframe.html)和 iFrame 中 iFrame 的 SRC(在我的测试版本中,它会提醒用户)。
因此,使用之前的示例,假设我添加了一个新示例以具有类似于
<div id="200" class="portlets">
<iframe src="widgets/widget2_iframe.html"></iframe>
</div>
然后我决定将第二个移到第一个之上。我的脚本正确显示了widgets/widget2_iframe.html但随后 iframe 中的 iframe 没有显示任何内容。然后它会正确显示widgets/widget1_iframe.html以及该 iframe 中的 iFrame。
我进行了检查,并且小部件/portlet 中的 iFrame(在 iframe 内)对 DOM 不可用。
所以基本上,如果我添加并移动了 100 个 portlet,它将向我显示除已移动的小部件/portlet 的 iframe 中的 iframe 之外的所有正确信息。下面是我的可排序函数的停止事件
stop: function (event, ui) {
var sortorder = '';
$('.' + opts.columnClass).each(function () {
var itemorder = $(this).sortable('toArray');
sortorder += itemorder.toString();
});
var substr = sortorder.split(',');
jQuery.each(substr, function () {
$.post("process.php", {
widget: $('div#' + this + ' div.widgetcontent iframe').attr("src"),
iframe: $('div#' + this + ' div.widgetcontent iframe').contents().find('iframe').attr("src")
}, function (data) {
alert("Data Loaded: " + data);
});
});
本质上 - 没有为已移动的小部件/portlet 传递 iFrame 的值