Неправильное отображение страницы в OPERA
<head>
<style type="text/css">#headingBlock{display:none;}
</style>
<script type="text/javascript">
//Получение дока ифрейма
function getIframeDocument(iframeNode)
{
if (iframeNode.contentDocument) return iframeNode.contentDocument;
if (iframeNode.contentWindow) return iframeNode.contentWindow.document;
return iframeNode.document;
}
//Парсинг данных
function parseData(code)
{
out=new String(code);
Reg=new RegExp('<div>','gi');
out=out.replace(Reg,'<div class="expand">');
Reg=new RegExp('<a','gi');
out=out.replace(Reg,'<a target="content"');
return out;
}
//Когда содержание загрзилось
function heading_loaded(obj)
{
//Получаем xml-код
xml_code=parseData(getIframeDocument(obj).body.innerHTML);
//Создаём выходной html-код
//И выводим его в блок headingBlock
document.getElementById('headingBlock').innerHTML=xml_code;
//Отображаем таблицу с контентом
document.getElementById('data').style.display='block';
//Скрываем сообщение о загрузке содержания
document.getElementById('headingLoader').style.display='none';
}
//Отображение содержания
function showHeadig(obj)
{
//Подгоняем под него высоту ячейки
obj.height=150;
document.getElementById('headingBlock').style.display='block';
//Изменяем содержимое текста под содержанием.
document.getElementById('sp0').innerText='Чтобы скрыть содержание уведите отсюда мышь';
}
//Скрытие содержания
function hideHeadig(obj)
{
//Уменюшаем высоту ячейки обратно
obj.height=25;document.getElementById('headingBlock').style.display='none';
document.getElementById('sp0').innerText='Для просмотра содержания наведите курсор';
}
</script>
</head>
<body>
<iframe style="display:none" id="heading" name="heading" src="help-data/index.html" onload="heading_loaded(this);" display="none">
<!--
Этот ифрейм (скрытый загружает содержание, а по окончании его загрузки - вызывает heading_loaded, и, следовательно парсинг данных
-->
</iframe>
<!--Таблица с содержимым.
В окончательном варианте этих bgcolor-ов небудет, это отладочные.
-->
<table bgcolor="#ababab" id="data" style="display:none;" id="data" height="100%" width="100%">
<tr>
<td height="25" valign="top" onmouseover="showHeadig(this);" onmouseout="hideHeadig(this);">
<div id="headingBlock" style="height:125;overflow:auto;">
<!--
Сюда парсер содержания выкладывает html-код содержания
-->
</div>
<span id="sp0">Для просмотра содержания наведите курсор</span>
</td>
</tr>
<tr>
<td bgcolor="7777ff">
<!--
Это - ифрейм для загрузки статей. По идее должен разползить на всю ячейку
-->
<iframe name="content" style="width:100%"></iframe>
</td>
</tr></table>
<table id="headingLoader" height="100%" width="100%">
<tr><td align="center" valign="center">
<span id="gdfgtdeh">Пожалуйста, активируйте JavaScript</span>
<script language="javascript" type="text/javascript">
document.getElemntById('gdfgtde').innerHTML='Выполняется загрузка содержания... Пожалуйста, подождите<br><img src="ajax-loader.gif">';
</script>
</td></tr>
</table>
</body></html> <html>
<head>
<style type="text/css">#headingBlock{display:none;}
</style>
<script type="text/javascript">
//Получение дока ифрейма
function getIframeDocument(iframeNode)
{
if (iframeNode.contentDocument) return iframeNode.contentDocument;
if (iframeNode.contentWindow) return iframeNode.contentWindow.document;
return iframeNode.document;
}
//Парсинг данных
function parseData(code)
{
out=new String(code);
Reg=new RegExp('<div>','gi');
out=out.replace(Reg,'<div class="expand">');
Reg=new RegExp('<a','gi');
out=out.replace(Reg,'<a target="content"');
Reg=new RegExp('<link','gi');
out=out.replace(Reg,'<a target="blank"');
Reg=new RegExp('</link>','gi');
out=out.replace(Reg,'</a>');
return out;
}
//Когда содержание загрзилось
function heading_loaded(obj)
{
//Получаем xml-код
xml_code=parseData(getIframeDocument(obj).body.innerHTML);
//Создаём выходной html-код
//И выводим его в блок headingBlock
document.getElementById('headingBlock').innerHTML=xml_code;
//Отображаем таблицу с контентом
document.getElementById('data').style.display='block';
//Скрываем сообщение о загрузке содержания
document.getElementById('headingLoader').style.display='none';
}
//Отображение содержания
function showHeadig(obj)
{
//Подгоняем под него высоту ячейки
obj.height=150;
document.getElementById('headingBlock').style.display='block';
//Изменяем содержимое текста под содержанием.
document.getElementById('sp0').innerText='Чтобы скрыть содержание уведите отсюда мышь';
}
//Скрытие содержания
function hideHeadig(obj)
{
//Уменюшаем высоту ячейки обратно
obj.height=25;document.getElementById('headingBlock').style.display='none';
document.getElementById('sp0').innerText='Для просмотра содержания наведите курсор';
}
</script>
</head>
<body>
<iframe style="display:none" id="heading" name="heading" src="help-data/index.html" onload="heading_loaded(this);" display="none">
<!--
Этот ифрейм (скрытый загружает содержание, а по окончании его загрузки - вызывает heading_loaded, и, следовательно парсинг данных
-->
</iframe>
<!--Таблица с содержимым.
В окончательном варианте этих bgcolor-ов небудет, это отладочные.
-->
<table bgcolor="#ababab" id="data" style="display:none;" id="data" height="100%" width="100%">
<tr>
<td height="25" valign="top" onmouseover="showHeadig(this);" onmouseout="hideHeadig(this);">
<div id="headingBlock" style="height:125;overflow:auto;">
<!--
Сюда парсер содержания выкладывает html-код содержания
-->
</div>
<span id="sp0">Для просмотра содержания наведите курсор</span>
</td>
</tr>
<tr>
<td width="500" bgcolor="7777ff">
<iframe name="content" id="contentIframe" style="height:100%;width:100%;"></iframe>
</td>
</tr></table>
<table id="headingLoader" height="100%" width="100%">
<tr><td align="center" valign="center">
<span id="gdfgtdeh">Пожалуйста, активируйте JavaScript</span>
<script language="javascript" type="text/javascript">
document.getElemntById('gdfgtde').innerHTML='Выполняется загрузка содержания... Пожалуйста, подождите<br><img src="ajax-loader.gif">';
</script>
</td></tr>
</table>
</body></html>[/HTML]
Под IE всё работает, под Opera ячейка втаблце почему-то не растягивается на всю свободную часть таблицы. у, протестите-по фону поймёте...
Все странцы в архиве тут