On Fri, Apr 10, 2009 at 9:49 PM, glenn <[email protected]> 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---