2014-10-28 25 views
7

Parlak Uygulamanın bir parçası olarak bir twitter zaman çizelgesini katıştırmaya hevesliyim. BenParlak bir uygulamada bir twitter zaman çizelgesini nasıl yerleştirebilirim

library(shiny) 
shinyUI(fluidPage(

tags$head(includeScript("twitter.js")), 

titlePanel(""), 

sidebarLayout(
sidebarPanel(
), 

mainPanel(
    a("Soccer", class="twitter-timeline", href="https://twitter.com/pssGuy/timelines/524678699061641216", data-widget-id="524686407298596864") 

) 
) 
)) 

altında bu bir hata üretir gibi bir twitter.js dosyası (yukarıda eksi komut dosyası etiketleri) ve ui.R yarattık

<a class="twitter-timeline" href="https://twitter.com/pssGuy/timelines/524678699061641216" 
data-widget-id="524686407298596864">Soccer</a> 

<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");</script> 

ilgili Kod Parçacığı var

veri-widget id = atlarsanız
ERROR: C:\Users\pssguy\Documents\R\testGoogleTwitter/ui.R:19:124: unexpected '=' 
18:  mainPanel(
19:  a("Soccer", class="twitter-timeline",  href="https://twitter.com/pssGuy/timelines/524678699061641216", data-widget-id= 

"524686407298596864" Ben, tıklandığında, doğru zaman çizelgesi ile bir tarayıcı penceresi açan bir bağlantı olsun

Fark ettim

bir şey verilmiş komut twitters geliştirme öğretici o aynı değil olmasıdır https://dev.twitter.com/web/embedded-timelines

<script type="text/javascript"> 
window.twttr = (function (d, s, id) { 
var t, js, fjs = d.getElementsByTagName(s)[0]; 
if (d.getElementById(id)) return; 
js = d.createElement(s); js.id = id; js.src= "https://platform.twitter.com/widgets.js"; 
fjs.parentNode.insertBefore(js, fjs); 
return window.twttr || (t = { _e: [], ready: function (f) { t._e.push(f) } }); 
}(document, "script", "twitter-wjs")); 
</script> 

TIA

cevap

9

Bunu bir sözdizimsel olarak geçerli bir isim değil olarak data-widget-id alıntı gerekir:

> make.names("data-widget-id") 
[1] "data.widget.id" 

Yani şu çalışmalıdır:

library(shiny) 
runApp(list(ui = fluidPage(
    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");')), 
    titlePanel(""), 
    sidebarLayout(
    sidebarPanel() 
    , mainPanel(
     a("Soccer", class="twitter-timeline" 
     , href = "https://twitter.com/pssGuy/timelines/524678699061641216" 
     , "data-widget-id" = "524686407298596864") 
    ) 
) 
) 
, server = function(input, output, session){ 

} 
) 
) 
( )
İlgili konular