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