I would look in HTMLContentRewriter.rewriteJSTags

On Mon, Jan 26, 2009 at 11:11 AM, Lev Epshteyn <[email protected]> wrote:

> Is this a difficult bug to locate? It's currently preventing the use of
> templates with any kind of content rewriting  - requiring code to disable
> rewriting features for any gadget that wants to use templates.
>
> I can look into fixing it  - any suggestions on where you think I should
> start would be welcome.
>
> On Thu, Jan 22, 2009 at 7:26 PM, Louis Ryan <[email protected]> wrote:
>
> > Its probably still got a bug in the script block concatenation code
> because
> > it doesnt distinguish based on script types
> >
> > On Thu, Jan 22, 2009 at 4:00 PM, Kevin Brown <[email protected]> wrote:
> >
> > > On Thu, Jan 22, 2009 at 3:58 PM, Lev Epshteyn <[email protected]>
> wrote:
> > >
> > >> Ah - my mistake. I had it confused with the concatenation servlet,
> which
> > >> still serves the content out of band as an include.
> > >>
> > >> By the way, I'm still seeing the content rewriter change the @type
> > >> attributes on all my script tags unless disabled... Should that not
> have
> > >> gone away with the new rewrite engine?
> > >
> > >
> > > It should have been fixed. Louis?
> > >
> > >
> > >>
> > >> On Thu, Jan 22, 2009 at 6:44 PM, Kevin Brown <[email protected]> wrote:
> > >>
> > >> > On Thu, Jan 22, 2009 at 3:28 PM, Lev Epshteyn <[email protected]>
> > wrote:
> > >> >
> > >> > > Well, it's Shindig that takes a separate .js file where this is
> not
> > an
> > >> > > issue, and puts its contents into an inline script block.
> > >> > >
> > >> > > It's my understanding that not only OpenSocial features, but also
> > >> > > third-party JS libraries can be inlined this way, so we can't rely
> > on
> > >> the
> > >> > > JS
> > >> > > author being conscious of the possibility that their code will get
> > so
> > >> > > included and avoiding this problem string.
> > >> >
> > >> >
> > >> > Your understanding is incorrect. We only inline shindig feature
> > >> javascript.
> > >> >
> > >> >
> > >> > > At first, I had thought that simply enclosing the script content
> in
> > a
> > >> > CDATA
> > >> > > block would solve the issue, but that doesn't seem to be the case.
> > >> >
> > >> >
> > >> > That would only work if the gadget was served as XHTML. Since
> internet
> > >> > explorer still does not support XHTML, this isn't an option. Always
> > >> escape
> > >> > forward slashes.
> > >> >
> > >> >
> > >> > >
> > >> > >
> > >> > > On Thu, Jan 22, 2009 at 6:06 PM, Kevin Brown <[email protected]>
> > wrote:
> > >> > >
> > >> > > > On Thu, Jan 22, 2009 at 2:46 PM, Lev Epshteyn <[email protected]
> >
> > >> > wrote:
> > >> > > >
> > >> > > > > I found a strange bug in shindig while adding a checkbox to
> > sample
> > >> > > > > container
> > >> > > > > to support non-minified JS output.
> > >> > > > >
> > >> > > > > In the templates feature JS, some of our comments include
> usage
> > >> > > examples,
> > >> > > > > which contain the string "</script>".
> > >> > > > >
> > >> > > > > This is not a problem for a .js file, but when Shindig inlines
> > >> this
> > >> > > > content
> > >> > > > > into a <script> block, the string causes all sorts of havoc in
> > the
> > >> > > > browser,
> > >> > > > > causing it to terminate the script block prematurely.
> > >> > > > >
> > >> > > > > While this isn't an issue in minified mode, where comments get
> > >> > stripped
> > >> > > > > off,
> > >> > > > > I am wondering if the problem can also occur if I have a
> closing
> > >> > script
> > >> > > > tag
> > >> > > > > inside a string literal. I haven't actually tested this, so
> it's
> > >> > > entirely
> > >> > > > > possible that Shindig is smart enough to handle this edge
> case.
> > >> > > >
> > >> > > >
> > >> > > > This isn't a "shindig bug", it's a well known browser
> limitation.
> > >> > Always
> > >> > > > escape the string "</script>" as "<\/script>" in javascript.
> > >> Contrary
> > >> > to
> > >> > > > common belief, you don't need to do bizarre things like
> > >> concatenating
> > >> > > <scr
> > >> > > > and ipt>. Simply escaping the forward slash is sufficient.
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> > >
> >
>

Reply via email to