У меня есть функция javascript, которую я вызываю из события onClick изображения на моей странице.
По сути, функция устанавливает переменную, которая ссылается на элемент на той же странице.
вот как эта функция вызывается (обратите внимание, HTML-файл печатается с использованием PHP, но не думайте, что это повлияет на сам HTML-код):
echo "<img src='site/images/apps/show.gif' onClick='apps()' id='appbutton' style='#'>";
вот что ссылается на скрипт:
<iframe frameborder="0" name="app_frame" src="site/apps.html" width="0%" height="100%" scrolling="no"></iframe>
и, наконец, вот как на него ссылаются и что с ним делается:
<script type="text/javascript">
function apps()
{
var element = document.getElementById("app_frame");
if (element.width == '0%')
{
parent.document.getElementById("frame").setAttribute("width","100%");
parent.document.getElementById("app_frame").setAttribute("width","0%");
parent.document.getElementById("appbutton").setAttribute("src","site/images/apps/show.gif");
parent.document.getElementById("wthrbutton").style.visibility="hidden";
}
else
{
parent.document.getElementById("frame").setAttribute("width","65%");
parent.document.getElementById("app_frame").setAttribute("width","35%");
parent.document.getElementById("appbutton").setAttribute("src","site/images/apps/hide.gif");
parent.document.getElementById("wthrbutton").style.visibility="visible";
}
}
</script>
Основная проблема в первой строке функции, var element = document.getelementbyid.
Firefox, Chrome и Safari все с этим сталкиваются, и ни одна из них, похоже, не устанавливает переменную, что делает оставшуюся часть скрипта бесполезной, поскольку все вращается вокруг переменной.
Кто-нибудь знает какой-либо другой способ установки этого элемента в качестве переменной, которая будет работать в этих браузерах?
Спасибо