Я работаю в Rmarkdown
с форматом revealjs_presentation
и хочу добавить html-виджет, созданный leaflet
. Я наивно пытался просто включить его в слайд, зная, что, вероятно, возникнет конфликт между show.js css и листовкой, что имеет место. Как вы могли видеть на следующем скриншоте, на моей листовке есть несколько неизвестных черных линий.
---
title: "Untitled"
output:
revealjs::revealjs_presentation:
self_contained: false
---
## Slide with a widget
```{r, echo=FALSE}
library(leaflet)
library(magrittr)
leaflet() %>%
addTiles()
```
Однако обратите внимание, что на этомчто размер виджета будет изменяться правильно, если размер экрана изменится.
Я предполагал, что инкапсуляция виджета листовки в iframe потенциально может решить мою проблему со странными черными линиями, так как они, вероятно, созданы самим show.js (которыйне будет загружен в iframe).
Фактически это решило проблему черных линий, но, к сожалению, на этот раз виджет не будет изменять размер окна. Я полагаю, это связано с изменением размера iframe при изменении размера экрана, но не с виджетом внутри iframe.
---
title: "Untitled"
output:
revealjs::revealjs_presentation:
self_contained: false
---
## Slide with a widget
```{r, echo=FALSE}
library(leaflet)
library(magrittr)
library(widgetframe)
frameWidget({leaflet() %>%
addTiles()
})
```
СетьЭффект заключается в том, что если создать слайды на моем ноутбуке и отобразить их на моем ноутбуке, с помощью iframe работает нормально, но если я хочу проецировать свои слайды на проектор, то виджет слишком мал для (недавно измененного размера) iframe, что приводит к белым отступам для неиспользуемой части iframe.
Любые способы решения моей проблемы приветствуются. Я предполагаю два возможных способа:
- Использовать какой-то трюк CSS вместо инкапсуляции моей карты листовки в iframe
- Сделать виджет внутри iframe таким, чтобы он изменял размер при изменении размера iframe
Я, к сожалению, не могу заставить работать ни то, ни другое, во многом из-за моих (очень) очень ограниченных навыков в html / js / css. Я поработаю над ними, как только у меня будет время, но сейчас мне нужна ваша помощь.
Спасибо!