webmcp
view framework/env/ui/script.lua @ 3:795b764629ca
Version 1.0.3
Important bugfix related to internal forwards (Bug was introduced by the restriction of views with underscore prefix in Version 1.0.2)
Important bugfix related to internal forwards (Bug was introduced by the restriction of views with underscore prefix in Version 1.0.2)
| author | jbe |
|---|---|
| date | Thu Dec 10 12:00:00 2009 +0100 (2009-12-10) |
| parents | 9fdfb27f8e67 |
| children | 5e32ef998acf |
line source
1 --[[--
2 ui.script{
3 noscript_attr = noscript_attr, -- HTML attributes for noscript tag
4 noscript = noscript, -- string or function for noscript content
5 attr = attr, -- extra HTML attributes for script tag
6 type = type, -- type of script, defaults to "text/javascript"
7 script = script, -- string or function for script content
8 }
10 This function is used to insert a script into the active slot. It is currently not XML compliant and the script must not contain a closing script tag.
12 --]]--
14 -- TODO: CDATA or SGML comment?
16 function ui.script(args)
17 local args = args or {}
18 local noscript_attr = args.noscript_attr
19 local noscript = args.noscript
20 local attr = table.new(args.attr)
21 attr.type = attr.type or args.type or "text/javascript"
22 local script = args.script
23 if script and type(script) ~= "function" then
24 -- disable HTML entity escaping
25 script = function()
26 slot.put(args.script)
27 end
28 end
29 if noscript then
30 ui.tag{ tag = "noscript", attr = attr, content = noscript }
31 end
32 if script then
33 ui.tag{ tag = "script", attr = attr, content = script }
34 end
35 end
