FYI, one platform where I have not been able to get interactive rgl working is iOS 8. iOS 8 is supposed to support WebGL, and Javascript is enabled.
On Sat, Sep 12, 2015 at 4:33 PM, Dominick Samperi <djsamp...@gmail.com> wrote: > Thanks for the pointers and the quick fix. > > Perhaps the generated HTML code should issue a > message like "Javascript load problem" instead of > "You must enable Javascript to view this page properly," > because the latter can be misleading. > > > On Sat, Sep 12, 2015 at 12:42 PM, Duncan Murdoch > <murdoch.dun...@gmail.com> wrote: >> On 12/09/2015 7:37 AM, Duncan Murdoch wrote: >>> On 11/09/2015 10:14 PM, Dominick Samperi wrote: >>>> Hello, >>>> >>>> The recently created online "rgl Overview" at >>>> https://cran.r-project.org/web/packages/rgl/vignettes/rgl.html >>>> illustrates a problem that I am trying to resolve. >>>> >>>> At the bottom of each image block on that page appears the >>>> advisory: You must enable Javascript to view this page properly. >>>> >>>> I am using Safari under MacOS with Javascript and WebGL >>>> both enabled, so it must be the detection algorithm that is >>>> mistaken. It is not clear to me how this works after looking >>>> over the generated HTML code (generated by knit2html >>>> in my case). >>>> >>>> I found this after I ran into this problem in a different context, >>>> namely, in the process of creating a wordpress page that >>>> contains interactive rgl content. I tried simply placing >>>> the code generated by knit2html into a wordpress page, >>>> but the result is not interactive and that message about >>>> Javascript not being enabled appears. >>>> >>>> On the other hand, if I open the generated code in a >>>> browser directly, interaction works and there is no >>>> Javascript message. >>>> >>>> In summary, interactive rgl code works stand-alone, but >>>> not in wordpress, and not in the "rgl Overview" page. >>>> >>> >>> I see the same in Firefox, it's not just Safari. >>> >>> If I look at the browser console, I see errors indicating that rglClass >>> is not defined, and I don't see a block of Javascript code that should >>> have been inserted. >>> >>> If I install rgl from the source on CRAN, I see the same problem, so it >>> looks like an rgl bug. I'll see if I can fix it. >> >> Yes, it was an rgl bug. During my testing I always had knitr loaded >> before rgl, but when building the vignettes for the package, the load >> order is different, and the initialization was silently skipped. >> >> I'll soon be committing changes to R-forge to fix this, and eventually >> it will end up on CRAN. At the moment it looks like I need to add this >> function: >> >> setupKnitr <- function() { >> if (requireNamespace("knitr")) { >> knitr::knit_hooks$set(webgl = hook_webgl) >> knitr::knit_hooks$set(rgl = hook_rgl) >> environment(hook_webgl)$commonParts <- TRUE >> environment(hook_webgl)$reuse <- TRUE >> } >> } >> >> and that should be called (just once) near the start of the vignette. >> >> Duncan Murdoch >> ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel