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.


Reply via email to