【问题标题】:Add HTML and javascript code to flexdashboard in R将 HTML 和 javascript 代码添加到 R 中的 flexdashboard
【发布时间】:2021-04-17 21:28:23
【问题描述】:

我有以下创建 flexdashboard 的代码:

---
title: "Untitled"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
    runtime: shiny
---

```{r setup, include=FALSE}
library(flexdashboard)

我想插入一些 HTML 和 javascript 代码。我试过这个

    Column
    -----------------------------------------------------------------------

    ### Block 1

    ```{r}
    <p>"This is a paragraph"</p>
    <script>
      alert("This is an alert")
    </script>
    ```

但它不起作用。拜托,你能帮我解决这个问题吗?谢谢。

【问题讨论】:

  • 您将 HTML 和 JS 代码包装在 R 块中,这会导致错误。只需将代码直接放在您的 Rmd 中即可。此外,您的结束脚本标记应为 &lt;/script&gt;
  • 标签已解决。谢谢斯特凡

标签: html r flexdashboard


【解决方案1】:

您可以直接键入 HTML 代码,无需分块。您还可以在一个块中使用'htmltools' 包的tags 函数(或Shiny UI 函数)。对于 JavaScript,请使用 js 块。

---
title: "TEST"
output: 
  flexdashboard::flex_dashboard:
    orientation: rows
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r packages, include=FALSE}
library(flexdashboard)
library(htmltools)
```

Page
====================================

Row
-----------------------------

### HTML and JavaScript

<button id="btn">Click me</button>

```{js, echo=FALSE}
$("#btn").on("click", function() {
  alert("You clicked the button!")
})
```

### HTML using 'htmltools'

```{r, echo=FALSE}
tags$button("Another button")
```

【讨论】:

  • 您好@Stéphane Laurent,感谢您的解释和回答,只是关于此语法的问题:$("#btn).on("click", function()...:我是否必须使用$("# 访问元素btn?符号#是什么意思?
  • @Manu 这是一个 CSS 选择器。 "#btn" 是 id 为 btn 的元素。 $ 是一个 jQuery 函数。
  • 很好的答案和解释,不知道 jQuery 用于 flexdashboard。非常感谢!
猜你喜欢
  • 2020-08-22
  • 2019-01-07
  • 1970-01-01
  • 1970-01-01
  • 2020-06-21
  • 1970-01-01
  • 2019-08-21
  • 2018-01-07
  • 1970-01-01
相关资源
最近更新 更多