【发布时间】:2019-07-24 21:37:12
【问题描述】:
我必须在 URL 中以幻灯片形式显示三条推文。
这是我没有幻灯片的代码
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
####
),
mainPanel(
htmlOutput("top_tweets_1"),
htmlOutput("top_tweets_2"),
htmlOutput("top_tweets_3")
)))
server <- function(input, output) {
tws <- c("https://twitter.com/Twitter/status/1144673160777912322","https://twitter.com/Twitter/status/1144673160777912322","https://twitter.com/Twitter/status/1144673160777912322")
output$top_tweets_1 <- renderUI({
tagList(
tags$head(
tags$script("!function(d,s,id){var js,fjs=d.getElementsByTagName(s) [0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,'script','twitter-wjs');")
),
HTML(
paste('<blockquote class="twitter-tweet" data-lang="en"
style=" width:500;
height:500;">',
paste("<a href=\"",tws[1],"\">","tweet1","</a>"),
'</blockquote>')
))
})
output$top_tweets_2 <- renderUI({
tagList(
tags$head(
tags$script("!function(d,s,id){var js,fjs=d.getElementsByTagName(s) [0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,'script','twitter-wjs');")
),
HTML(
paste('<blockquote class="twitter-tweet" data-lang="en"
style=" width:500;
height:500;">',
paste("<a href=\"",tws[2],"\">","tweet2","</a>"),
'</blockquote>')
))
})
output$top_tweets_3 <- renderUI({
tagList(
tags$head(
tags$script("!function(d,s,id){var js,fjs=d.getElementsByTagName(s) [0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,'script','twitter-wjs');")
),
HTML(
paste('<blockquote class="twitter-tweet" data-lang="en"
style=" width:500;
height:500;">',
paste("<a href=\"",tws[3],"\">","tweet3","</a>"),
'</blockquote>')
))
})
}
运行应用程序
shinyApp(ui = ui, server = server)
我看到这段代码使用了slickR 包,它符合我的需要,但我想显示 URL 内容,而不是图片。
这是我用一个 URL 尝试过的,看看它是否有效
library(slickR)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
####
),
mainPanel(
slickROutput("slickr", width="500px"),
)))
server <- function(input, output) {
tws <- c("https://twitter.com/Twitter/status/1144673160777912322","https://twitter.com/Twitter/status/1144673160777912322","https://twitter.com/Twitter/status/1144673160777912322")
output$slickr <- renderSlickR({
slickR(
tagList(
tags$head(
tags$script("!function(d,s,id){var js,fjs=d.getElementsByTagName(s) [0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document,'script','twitter-wjs');")
),
HTML(
paste('<blockquote class="twitter-tweet" data-lang="en"
style=" width:500;
height:500;">',
paste("<a href=\"",tws[1],"\">","tweet1","</a>"),
'</blockquote>')
)) )
)}
}
Run the application
`shinyApp(ui = ui, server = server)`
所以我尝试使用它,但我什么也没得到或出现此错误
错误:obj 必须是字符向量
有什么帮助吗?
【问题讨论】: