2015-03-20 5 views
0

Это может быть глупый вопрос, но можно ли разместить html внутри узла js cytoscape? Я прошел через документы и предположил, что можно разместить изображение внутри узла, но ничего не говорит о html. В идеале это так, что я могу иметь набор изображений вместе с подсказками инструментов, которые плавают над изображениями. Спасибо заранее. Joecytoscapejs - embed html внутри тела узла

+0

_ «Что у вас есть до сих пор?» _ –

ответ

2

Вы не можете смешивать HTML-контент с холстом, который является базовой технологией рендеринга, используемой Cytoscape.js. Вы можете использовать SVG-изображения, а SVG-файлы очень похожи на HTML DOM, и их можно манипулировать с помощью JS-библиотек, хотя макет в основном используется в SVG.

Опции:

(1) Использование SVG. Вы можете просто захватить содержание SVG, URL кодировать (с encodeURI()), а также использовать его в качестве фонового изображения и т.д .:

data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10px" height="7px"><g><g><polygon points="8.433,-0.06 4.985,3.325 1.539,-0.06 -0.066,1.546 4.985,6.566 10.037,1.546" fill="%2361B23B"/></g></g></svg>

Вам нужно префикс data:image/svg+xml;utf8, как в примере.

(2) Постройте extension, который помещает div сверху каждого узла. Вам нужно будет организовать некоторую организацию в расширении для синхронизации позиций div с узлами и т. Д.