Как получить апплет в строке таблицы для динамического размера - PullRequest
0 голосов
/ 11 октября 2009

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

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

<!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>

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

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

1 Ответ

1 голос
/ 11 октября 2009

Я предлагаю использовать 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>
...
...