Мне было интересно, можно ли включать SVG-содержимое внутри панели (или что-то, что будет работать в GWT), иметь возможность добавлять к SVG (например, добавить круг или кривую) больше программ и обрабатывать события мыши ( это будет в SVG или GWT?). Я попытался создать объект HTML, добавляя что-то по строкам:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="50" cy="50" r="30" />
</svg>
Это не сработало (ничего не видно на выходе), но я не уверен, было ли это потому, что я сделал это неправильно или не допустил.
Я смог сделать простой пример в GWT с помощью Google Visualization LineChart, но я бы хотел отойти от Google Visualization и сам сгенерировать SVG и настроить его дальше. Я огляделся, и многие ресурсы указывают на использование Canvas, но я не уверен, что это лучший маршрут.
Я также немного озадачен примером здесь. Я попробовал простую копию этого паттерна, чтобы попробовать локально, и он, похоже, не работает вообще. Тем не менее, я смог получить еще один образец, работающий только с HTM (встраивание с src, указывающим на SVG файл) L + отдельный SVG файл, но я не смог получить к нему доступ с использованием GWT с помощью RootPanel.get(...).
EDIT: Я читал о том, что SVG не работает с Hosted Browser, и компиляция его действительно работает, но я не уверен, как обращаться к SVG (который я поместил в HTML через). Если я могу получить к нему доступ, то, предположительно, я могу добавить его в innerHTML. Я попытался в RootPanel.get( "привет" ). GetElement(). SetInnerHTML ( "..." ), но это не работает, или я испортил? Я предполагаю, что цель состоит в том, чтобы иметь возможность манипулировать SVG файлом, который я каким-то образом связал (будь то в GWT или в HTML), и иметь возможность изменять его на основе пользовательского ввода.
2nd EDIT До сих пор я программировал функциональность внутри фактического файла SVG. В нашей установке наш SVG является внедренным объектом, и мы передали "документ" во встроенный SVG. Передача информации из встроенного объекта в HTML и из него вполне выполнима, поскольку HTML имеет доступ к нашим функциям SVG, и SVG имеет доступ к "документу".
Есть более прозрачные способы сделать это (Rapahel), где FireBug может видеть SVG напрямую, что приятно, но сейчас не совсем необходимо. До сих пор я не думаю, что любые решения, которые я рассматривал, были IFrames, но я мог ошибаться. Небольшое предупреждение, SVG может быть довольно медленным иногда.
Я бы сказал, что моя проблема решена (вроде?), но я не использую Raphael, jQuery и GWT в данный момент, но метод, который я описал в своем ответе, должен по-прежнему работать, если я хочу использовать GWT.