Hello, I have a head element in my default template with a standard title element. When I define a head element in my snippet with a new title element, it is appended into the head section of my resulting html.
Now there are two title element and the browser uses the first one. I thought the title element in my default template will be replaced with the one I defined in my snippet. Is there another way to achieve this? with best regards On 16 Dez., 21:54, David Pollak <feeder.of.the.be...@gmail.com> wrote: > On Wed, Dec 16, 2009 at 11:55 AM, Ross Mellgren <dri...@gmail.com> wrote: > > I was diagnosing some incorrect HTML in our application using Lift, > > and I found a strange behavior of head merging (I assume) when you > > emit a <head> tag into a <head> tag from the snippet. The code speaks > > better than I do about this: > > > ... > > object Dialog extends DispatchSnippet { > > val standardDialogOptions: JsObj = JsObj( > > "autoOpen" -> false, > > "bgiframe" -> true, > > "modal" -> true, > > "resizable" -> false > > ) > > > val dispatch: DispatchIt = { > > case "head" => renderHead > > case "render" => render > > } > > > def renderHead(ns: NodeSeq): NodeSeq = > > <head>{ Script { JsCrVar("pxStandardDialogOptions", > > Dialog.standardDialogOptions) } }</head> > > ... > > } > > > LiftRules.snippetDispatch.append { > > ... > > case "Dialog" => Dialog > > ... > > } > > > <lift:surround with="default" at="content"> > > <head> > > <title>Email Editor</title> > > <lift:Dialog.head /> > > </head> > > </lift:surround> > > > I agree I'm doing the wrong thing here -- the <lift:Dialog.head /> tag > > rightly should be outside of the head block, or the snippet should not > > emit <head>. However, the resulting behavior is funny (certainly more > > funny than I'd expect): > > > <html xmlns:lift="http://liftweb.net/" xmlns="http://www.w3.org/1999/xhtml > > "> > > <head> > > ... > > <title>Email Editor</title> > > > <script type="text/javascript"> > > // <![CDATA[ > > var pxStandardDialogOptions = {"autoOpen": false, "bgiframe": true, > > "modal": true, "resizable": false}; > > // ]]> > > </script> > > > <head><script type="text/javascript"> > > // <![CDATA[ > > var pxStandardDialogOptions = {"autoOpen": false, "bgiframe": true, > > "modal": true, "resizable": false}; > > // ]]> > > </script></head> > > > </head> > > ... > > </html> > > > Ideally I'd like this to "just work" so that it doesn't matter > > precisely where the snippet is called, though it would be some special > > magic just to work around an erroneous case. But, the behavior that > > does happen seems odd, duplicating the markup inside the <head>? > > > Should I file a bug? Just smile and nod? > > If we had to recursively check all the <head> tags for <head> tags, that > would significantly increase the overhead of the rewrite phase. I would > suggest using the new Helpers.stripHead() call to remove <head> tags from > stuff you already know is in a <head> tag. > > > > > > > -Ross > > > -- > > > You received this message because you are subscribed to the Google Groups > > "Lift" group. > > To post to this group, send email to lift...@googlegroups.com. > > To unsubscribe from this group, send email to > > liftweb+unsubscr...@googlegroups.com<liftweb%2bunsubscr...@googlegroups.com> > > . > > For more options, visit this group at > >http://groups.google.com/group/liftweb?hl=en. > > -- > Lift, the simply functional web frameworkhttp://liftweb.net > Beginning Scalahttp://www.apress.com/book/view/1430219890 > Follow me:http://twitter.com/dpp > Surf the harmonics -- You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to lift...@googlegroups.com. To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.