Niphlod, Thanks, I wasn't aware of these other ways to append these files. That's certainly useful to know.
Richard. On Tuesday, June 25, 2013 9:16:35 PM UTC+1, Niphlod wrote: > > 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.