response.files gets only called inside web2py_ajax.html, that is evaluated only when you load the layout.html
in HTML, all static assets must be in the <head> to be sure all are loaded when you try to execute some code. If you need to include a js file and you're sure all the dependencies are fullfilled (btw, it's not that easy.....if you include a plugin that depends on jquery, you need to be sure that jquery is already loaded .... have fun with it) you can use the usual <script src=> directive within your .load view. ATM there's no "facility" to "inject" just the files you need within web2py: you should code your own loader, or use a third-party loader. PS: you can use a model for your plugin that does response.files.append() to be sure that all pages will have loaded all the files you want. The only drawback is that those files will be loaded even if your "fragment" doesn't get actually "inserted" within a LOAD() statement. If you're not facing something that needs to load 300KB of different assets for every different fragment, it's not as bad as it sounds. Given that usually you enable client-side cache for all the /static/ files, they get actually transmitted once. On Tuesday, June 25, 2013 9:24:35 PM UTC+2, RHC wrote: > > I am trying to create a component plugin. I would like to add in some > javascript and css files from the plugin with as little editing as possible. > > I have a view.load file as part of the plugin and I tried to add something > like this to the top of this view file: > > {{ > > response.files.append(URL('static','plugin_spectrum/spectrum/spectrum.css')) > response.files.append(URL('static','plugin_spectrum/spectrum/spectrum.js')) > response.files.append(URL('static','plugin_spectrum/plugin.js')) > }} > > However, these files are not being loaded. I would like to make it as easy > to add the component into a web page as possible using a {{=LOAD(....)}} > command in the relevant views. It seems a bit cumbersome to have to add > these into the relevant layout.html as well as in the specific views. > > Is what I am trying to do possible? If not, is there another way to load > up the associated files along with the plugin automatically wherever the > component is loaded into the view? > > Thanks, > > Richard. > -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.