Как заставить апплет в таблице динамически изменять размер строки

StackOverflow https://stackoverflow.com/questions/1550013

Вопрос

Мне нужно вставить апплет в строку таблицы и получить динамическое изменение высоты этой строки таблицы в соответствии с размером окна браузера.Если я помещаю фиксированные значения для ширины и высоты в td-тег, апплет отображается нормально, но мне нужно иметь возможность изменять его размер в соответствии с возможностями клиента по размеру, поэтому использование фиксированных размеров не является решением.

Приведенный ниже фрагмент должен проиллюстрировать, в чем заключается моя проблема:

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

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JavaAppletTest </title>
    </head>

    <body bgcolor="#6f6f6f" >
        <table border="0" cellspacing="0" cellpadding="0" width="100%" >
            <tr valign="top">
                <td><img src="images/myheader.jpg" alt="myheader.jpg"></td>
                <td><img src="images/mylogo.jpg" alt="mylogo.jpg"></td>
            </tr>
            <tr >
                <td colspan="2" >
                    <object codetype="application/java"
                             classid="java:applets.MyTestApplet.class">
                        <param name="codebase" value="." >
                        <param name="archive" value="MyTestApplet.jar" >
                        <param name="code" value="applets.MyTestApplet" >
                    </object>
                </td>
            </tr>
        </table>
    </body>
</html>

Что мне нужно сделать, чтобы сделать размеры строк динамическими?

[редактировать] ответ джиттера указывает на возможное решение.Мне также нужно настроить соответствующие размеры, когда пользователь изменяет размер окна:какое событие и как мне это сделать?

Это было полезно?

Решение

Я предлагаю использовать javascript для написания object/embed помечайте и вычисляйте размер динамически.

В принципе, это должно сработать, но имейте в виду тот факт, что получить правильную ширину и размер может быть непросто.Я отсылаю вас к Определение размера окна браузера.

...
<head>
...
  <script type="text/javascript">
    window.onresize = function(event) {
      document.getElementById('myobject_tag').height = window.innerHeight;
      document.getElementById('myobject_tag').width = window.innerWidth;
    }
  </script>
</head>
...
<body bgcolor="#6f6f6f">
  <table border="0" cellspacing="0" cellpadding="0" width="100%">
    <tr valign="top">
      <td><img src="images/myheader.jpg" alt="myheader.jpg"></td>
      <td><img src="images/mylogo.jpg" alt="mylogo.jpg"></td>
    </tr>
    <script type="text/javascript">
      var height = window.innerHeight;
      var width = window.innerWidth;
      document.write(
        '<tr><td colspan="2"><object id="myobject_tag"\n' +
        'codetype="application/java"\n' +
        'classid="java:applets.MyTestApplet.class"\n' +
        'width="' + width + '"\n' +
        'height="' + height + '"\n>' +
        '<param name="codebase" value=".">\n' +
        '<param name="archive" value="MyTestApplet.jar">\n' +
        '<param name="code" value="applets.MyTestApplet">\n' +
        '</object></td></tr>'
      );
    </script>
  </table>
...
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top