Может ли Javascript переключать рамки? - PullRequest
1 голос
/ 27 мая 2009

Я пытаюсь использовать JS для переключения атрибута frameborder фрейма. Вот мой тестовый пример:

<html>
  <head>
  <script type="text/javascript">
    function off() {
      var f1 = document.getElementById("f1");
      var f2 = document.getElementById("f2");
      alert ("before, frame f1 had frameBorder=" + f1.frameBorder);
      f1.frameBorder = "0";
      alert ("after, frame f1 has frameBorder=" + f1.frameBorder);
      alert ("before, frame f2 had frameBorder=" + f2.frameBorder);
      f2.frameBorder = "0";
      alert ("after, frame f2 has frameBorder=" + f2.frameBorder);
    }
  </script>
  </head>

  <frameset cols="50%, 50%" name="fs">
    <frame frameborder="1" src="http://bikeshed.com" id="f1" name="f1" />
    <frame frameborder="1" src="http://bikeshed.com" id="f2" name="f2" />
  </frameset>
</html>

Я загружаю это в Firefox, открываю Firebug и набираю «off ()» в консоли. Он запускает мою функцию, которая сообщает, что обе рамки были установлены в «1» и теперь установлены в «0» ... однако граница рамки не исчезает.

Возможно ли то, что я пытаюсь сделать? Если да, то как?

Ответы [ 2 ]

2 голосов
/ 27 мая 2009

Использование фреймов вместо фреймов, похоже, работает. Вам придется немного поработать над CSS, чтобы завершить иллюзию набора фреймов.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">

<html lang="en">
<head>
  <title>Frame Test</title>
  <script language="javascript">
    var off = function () {
      document.getElementById('frame1').style.borderWidth = 0;
      alert('off');
    }
  </script>


</head>
<body style="margin: 0; padding: 0">
<table style="width: 100%; height: 100%" cols="2">
<tr>
<td><iframe id="frame1" src="http://www.google.com" style="margin: 0; width: 100%; height: 100%"></iframe></td>
<td><iframe id="frame2" src="http://www.google.com" style="margin: 0; width: 100%;  height: 100%"></iframe></td>
</tr>
</table>

</body>
</html>
1 голос
/ 27 мая 2009

Для некоторых атрибутов вам необходимо использовать setAttribute . Попробуйте

f1.setAttribute('frameborder', 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...