Здравствуйте. По ряду причин переписал js код с document.write на программное создание элементов (Нужно было, чтобы главный frameset и его содержимое заключались внутри общего DIV(для последующего создания элементов на оверлее)).
Раньше код прекрасно понимал конструкцию top.frames, но сейчас, т.к структура DOM изменилась top.frames возвращает undefined...
Вопрос, как получить доступ к frames???
например, вот это раньше работало:
if ( top.frames['chat']['chat2'] ) { top.frames['chat']['chat2'].start(); }
Сейчас структура такова:
<body id="claro" class="claro">
<div id="appLayout"></div>
</body>
frameset с остальными фреймами находится внутри div с id "appLayout":
jQuery.noConflict();
jQuery(document).ready(function( $ ) {
$('<frameset>', {
border: 0,
id: 'super',
onload: '',
cols: '65,*'
}).append(
$('<frame>', {
name: 'panel',
noresize: 'noresize',
scrolling: 'no',
src: '/panel.php?0.13190476805903018'
}),
$('<frameset>', {
border: 0,
rows: '30,*,30'
}).append(
$('<frame>', {
src: 'menu.php?' + rnd,
name: 'player',
scrolling: 'no',
noresize: 'noresize'
}),
$('<frameset>', {
border: 3,
bordercolor: '#758999',
frameborder: 1,
framespacing: 3,
id: 'main-set',
rows: rows
}).append(
$('<frame>', {
frameborder: 0,
id: 'main',
name: 'main',
src: main_scr
}),
$('<frameset>', {
cols: cols,
id: 'chat-set'
}).append(
$('<frame>', {
name: 'chat',
scrolling: 'no',
src: '/ch/html/ch_frames.html?' + rnd
}),
(userTutorial ? '' : $('<frame>', {
name: 'online',
scrolling: 'no',
src: '/ch/html/online.php?' + rnd,
frameborder: ''
}))
)
),
(userTutorial ? '' : $('<frame>', {
id: 'bottomFrame',
name: 'bottom',
noresize: 'noresize',
scrolling: 'no',
src: '/buttons.php?' + rnd
})),
$('<frame>', {
name: 'refreshed',
target: '_top',
frameborder: 0,
border: 0,
marginheight: 0,
scrolling: 'no',
noresize: 'noresize',
src: 'refreshed.html'
})
)
).appendTo($('#appLayout'))
});
Старый код:
document.write(
'<frameset border="0" onload="if ( top.frames[\'chat\'][\'chat2\'] ) { top.frames[\'chat\'][\'chat2\'].start(); }" cols="65,*">' +
'<frame name="panel" noresize="noresize" scrolling="no" src="/panel.php?0.13190476805903018">' +
'<frameset border="0" rows="30,*,30">' +
'<frame src="menu.php?' + rnd + '" name="player" scrolling="no" noresize="noresize" />' +
'<frameset border="3" bordercolor="#758999" frameborder="1" framespacing="3" id="main-set" rows="' + rows + '">' +
'<frame frameborder="0" id="main" name="main" src="'+main_scr+ '" />' +
'<frameset cols="' + cols + '" id="chat-set">' +
'<frame name="chat" scrolling="no" src="/ch/html/ch_frames.html?' + rnd + '" />' +
(userTutorial ? '' : '<frame' + (!Opera ? ' frameborder="0"' : '') + ' name="online" scrolling="no" src="/ch/html/online.php?' + rnd + '" />') +
'</frameset>' +
'</frameset>' +
(userTutorial ? '' : '<frame id="bottomFrame" name="bottom" noresize="noresize" scrolling="no" src="/buttons.php?' + rnd + '" />') +
'<frame name="refreshed" target="_top" frameborder="0" border="0" marginheight=0 scrolling="no" noresize src="refreshed.html">'+
'</frameset>' +
'</frameset>'
);