Javascript в HTMLPanel - PullRequest
       7

Javascript в HTMLPanel

4 голосов
/ 14 августа 2011

Я хочу включить код Javascript в элемент HTMLPanel, но он не работает. Не могли бы вы мне помочь? Заранее спасибо.

Сценарии / pro.js

alert('hello');

С HTMLPANEL НЕ РАБОТАЕТ (предупреждение не отображается)

MyPage.java (который является EntryPoint для MyPage.html)

String preHtml="<script type=\"text/javascript\" src=\"Scripts/pro.js\"></script>";
HTMLPanel prePanel=new HTMLPanel(preHtml);
RootPanel.get("scriptContainer").add(prePanel);

mypage.html

<td align="left" valign="top" id="scriptContainer"></td>

БЕЗ HTMLPANEL НЕ РАБОТАЕТ (отображается предупреждение)

mypage.html

<td align="left" valign="top"><script type="text/javascript" src="Scripts/pro.js"></script></td>

1 Ответ

4 голосов
/ 15 августа 2011

Я думаю, что должно быть наоборот. HTMLPanel цитирует javadocs

Панель, которая содержит HTML и которая может прикреплять дочерние виджеты к идентифицированным элементы в этом HTML.

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

HTMLPanel html = new HTMLPanel("<table><tr><td id='scriptContainer'></td></tr></table>");
RootPanel.get().add(html);  
Element script = DOM.createElement("script");
DOM.setElementAttribute(script,"language","JavaScript");
DOM.setElementAttribute(script,"src","Scripts/pro.js");
DOM.appendChild(DOM.getElementById("scriptContainer"),script);
...