Пожалуйста, взгляните на этот SVG-файл в view-source. Внутри корневого svg есть 2 других элемента svg. Эти 2 элемента svg имеют каждый идентификатор, и стиль говорит, что элементы nestedsvg видны только в том случае, если :target
.
svg > svg:not(:target) {
display: none;
}
Вот как использовать один из этих элементов SVG в качестве изображения или объекта:
[119 ]
Я представляю, что «портлет GWT» - это не что иное, как виджет, который вы пишете сами (и, возможно, реализует общий интерфейс).
Трудная часть заключается в том, чтобы динамически разрешить предварительно скомпилированному приложению gwt включать другой компонент gwt (в данном случае портлет) без повторной компиляции с источником (что, как представляется, подразумевается в вопросе).
Я тоже изучал это, особенно после просмотра демонстрации Wave . Насколько я могу судить, команда wave использовала либо API-интерфейс Google Gadget, либо вариант API-интерфейса Gadget. У Google также есть руководство по написанию гаджета в GWT. Я бы представил, что вы использовали бы api на основе событий, где объекты JSO передаются между гаджетом и приложением GWT. Обратите внимание, что это также может вызвать проблемы XSS, если из разных доменов. Я думаю об этом как о динамической загрузке SWF во flash. Метод события аналогичен безопасной работе с межсайтовыми динамически загружаемыми SWF-файлами.