On Fri, Apr 10, 2009 at 9:49 PM, glenn <gl...@exmbly.com> wrote: > > I'm getting concerned about the viability of a Lift/JQuery web > solution. I am trying to implement a widget around the > jquery.mbContainerPlus.1.7.6 plugin. I can get it to work in IE 7, > but not in Firefox 3.08, where I get the following firebug error: > > [Exception... "Component returned failure code: 0x80004003 > (NS_ERROR_INVALID_POINTER) [nsIDOMNSHTMLElement.innerHTML]" nsresult: > "0x80004003 (NS_ERROR_INVALID_POINTER)" location: "JS frame :: > http://localhost:8080/classpath/jquery-1.3.2.js :: anonymous :: line > 251" data: no] > http://localhost:8080/classpath/jquery-1.3.2.js > Line 251 > > This has to do with an innerHtml line that shows up in jquery.js, > although line 251 in that file is actually blank, so I don't know > where it comes from. > > Creating the widget was simple. I just created a class to spit out the > relevant NodeSeqs: > > class Container { > def renderHead(xhtml: NodeSeq): NodeSeq = { > > <head> > <link rel="stylesheet" type="text/css" href={"/" + > LiftRules.resourceServerPath +"/mbContainer.css"} title="style" > media="screen"/> > <script type="text/javascript" src={"/" + > LiftRules.resourceServerPath + "/mbContainer.js"}></script> > <script type="text/javascript" src={"/" + > LiftRules.resourceServerPath + "/ui.core.min.js"}></script> > <script type="text/javascript" src={"/" + > LiftRules.resourceServerPath + "/ui.draggable.min.js"}></script> > <script type="text/javascript" src={"/" + > LiftRules.resourceServerPath + "/ui.resizable.min.js"}></script> > <script type="text/javascript" src={"/" + > LiftRules.resourceServerPath + "/jquery.metadata.js"}></ > script>
This should be escaped in a <![CDATA[ block: > > <script type="text/javascript">{ > Unparsed(""" > $(function(){ > $(".containerPlus").buildContainers({ > containment:"document", > elementsPath:"elements/" > }); > }); > """) > } > </script> > </head> > > } > > Why is this Unparsed? Why not just use XML? > > def renderContainer(xhtml: NodeSeq): NodeSeq = { > Unparsed(""" > <div class="containerPlus resizable {buttons:'m,c', > skin:'white'}"> > <div class="no"> > <div class="ne"> > <div class="n">main content</div> > </div> > <div class="o"> > <div class="e"> > <div class="c"> > <div class="content">This is > the main content</div> > </div> > </div> > </div> > <div> > <div class="so"> > <div class="se"> > <div class="s"></div> > </div> > </div> > </div> > </div> > </div> > """) > } > > If I have to jump through hoops to get it to work in Firefox, what > good is Lift? Or, am I just missing something obvious? If anyone has > had similar problems and has a workaround, please help. The only problem I've ever had with Firefox is a bug related to attributes with namespaces. Please note that Lift serves XHTML and Firefox is very strict about validating XHTML. Unless you are serving your static page with a mime type of application/xhtml+xml, you will not trigger Firefox's heightened validation. > > > By the way, if I just create an html file with the containerPlus node > as above and display it in Firefox without using Lift, I don't get the > error. Everything works great. > > Glenn Silverman > > > > -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Git some: http://github.com/dpp --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@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 -~----------~----~----~----~------~----~------~--~---