Discussion:
MochiKit + Google Gadgets + IE6/7?
MXH
2009-04-28 23:32:25 UTC
Permalink
I'm having trouble using MochiKit with a Gadget I'm writing for the
iGoogle interface. Specifically, even the inclusion of the
MochiKit.js file (via a SCRIPT tag) seems to break otherwise-
functional Gadgets in IE6 or (more seriously) IE7. (Other browsers
seem fine.)

Here's what I'm seeing:

1.) I create a Gadget that *doesn't* depend on MochiKit
2.) The Gadget works (i.e. it renders properly on load, which involves
JS building up the DOM)
3.) I add a SCRIPT tag to the Gadget to import MochiKit.js
4.) The Gadget breaks (i.e. it won't render properly on load 90% of
the time)

Some clarifications:

a.) The Gadget has an "html" Content Type (To clarify the
clarification: "Content Type" refers to the parameter in Google's
Gadget XML spec, not the HTML Header.)

b.) This happens even if I include the "MochiKit={__export__:false};"
line at the top of MochKit.js, which should suppess symbol export.

c.) Again, the Gadget isn't making any use of MochiKit, it's just
trying to import the JavaScript.

d.) The failure is intermittent, but I've never seen it fail w/o the
MochiKit include, and it fails ~90% of the time with the include, so I
feel pretty sure the two are related.


My question: "Is this a known problem? Has anyone else had
experiences, good or bad, with IE6 or IE7 compatibility when using
MochiKit to develop Google Gadgets?"

Thanks for reading. If you're interested, the XML for the Gadget I am
using for testing can be fetched here:

http://www.house-o-games.com/neknek/gadgets/neknek.xml

(The failure occurs in the "canvas" view".)

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "MochiKit" group.
To post to this group, send email to ***@googlegroups.com
To unsubscribe from this group, send email to mochikit+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/mochikit?hl=en
-~----------~----~----~----~------~----~------~--~---
Per Cederberg
2009-04-29 03:51:05 UTC
Permalink
In order to break this down a bit, could you try the page with just
the MochiKit.Base module? Use the download customizer to create a
minimized version with the modules you wish to try.

http://svn.mochikit.com/mochikit/trunk/packed/MochiKit/customize.html

We need to know more details about which module that breaks to analyze
this. It is not a known issue.

Cheers,

/Per
Post by MXH
I'm having trouble using MochiKit with a Gadget I'm writing for the
iGoogle interface.  Specifically, even the inclusion of the
MochiKit.js file (via a SCRIPT tag) seems to break otherwise-
functional Gadgets in IE6 or (more seriously) IE7.  (Other browsers
seem fine.)
1.) I create a Gadget that *doesn't* depend on MochiKit
2.) The Gadget works (i.e. it renders properly on load, which involves
JS building up the DOM)
3.) I add a SCRIPT tag to the Gadget to import MochiKit.js
4.) The Gadget breaks (i.e. it won't render properly on load 90% of
the time)
a.) The Gadget has an "html" Content Type (To clarify the
clarification:  "Content Type" refers to the parameter in Google's
Gadget XML spec, not the HTML Header.)
b.) This happens even if I include the "MochiKit={__export__:false};"
line at the top of MochKit.js, which should suppess symbol export.
c.) Again, the Gadget isn't making any use of MochiKit, it's just
trying to import the JavaScript.
d.) The failure is intermittent, but I've never seen it fail w/o the
MochiKit include, and it fails ~90% of the time with the include, so I
feel pretty sure the two are related.
My question:  "Is this a known problem?  Has anyone else had
experiences, good or bad, with IE6 or IE7 compatibility when using
MochiKit to develop Google Gadgets?"
Thanks for reading.  If you're interested, the XML for the Gadget I am
http://www.house-o-games.com/neknek/gadgets/neknek.xml
(The failure occurs in the "canvas" view".)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "MochiKit" group.
To post to this group, send email to ***@googlegroups.com
To unsubscribe from this group, send email to mochikit+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/mochikit?hl=en
-~----------~----~----~----~------~----~------~--~---
Michael Heyeck
2009-04-29 05:40:59 UTC
Permalink
Thank you for your response.

The problem occurs even if only the MochiKit.Base module is included when
MochiKit.js is built, and even if globals are not exported. If you delete
everything below the opening comment block (w/ the Copyright notice) it
works just fine, however. (-:


Two additional points:

1.) The problem (with this gadget) seems to manifest mostly on page reloads;
you can go to the Canvas view once, but if you reload the page it looks like
something blows up in the JS interpreter. I'm not sure if that behaviour is
suggestive of anything.

2.) While testing this bug, I've found that Google's(?) caching is a royal
PITA. Even if you flag the Gadget as uncached in the Developer view,
external JS files might still be cached. (It seems inconsistent.) I find
it's necessary to rename the external JS file for every test run (e.g.
MochiKit2.js, MochiKit3.js, MochiKit4.js, etc.) in order to get meaningful
results.


-- Mike
Post by Per Cederberg
In order to break this down a bit, could you try the page with just
the MochiKit.Base module? Use the download customizer to create a
minimized version with the modules you wish to try.
http://svn.mochikit.com/mochikit/trunk/packed/MochiKit/customize.html
We need to know more details about which module that breaks to analyze
this. It is not a known issue.
Cheers,
/Per
Post by MXH
I'm having trouble using MochiKit with a Gadget I'm writing for the
iGoogle interface. Specifically, even the inclusion of the
MochiKit.js file (via a SCRIPT tag) seems to break otherwise-
functional Gadgets in IE6 or (more seriously) IE7. (Other browsers
seem fine.)
1.) I create a Gadget that *doesn't* depend on MochiKit
2.) The Gadget works (i.e. it renders properly on load, which involves
JS building up the DOM)
3.) I add a SCRIPT tag to the Gadget to import MochiKit.js
4.) The Gadget breaks (i.e. it won't render properly on load 90% of
the time)
a.) The Gadget has an "html" Content Type (To clarify the
clarification: "Content Type" refers to the parameter in Google's
Gadget XML spec, not the HTML Header.)
b.) This happens even if I include the "MochiKit={__export__:false};"
line at the top of MochKit.js, which should suppess symbol export.
c.) Again, the Gadget isn't making any use of MochiKit, it's just
trying to import the JavaScript.
d.) The failure is intermittent, but I've never seen it fail w/o the
MochiKit include, and it fails ~90% of the time with the include, so I
feel pretty sure the two are related.
My question: "Is this a known problem? Has anyone else had
experiences, good or bad, with IE6 or IE7 compatibility when using
MochiKit to develop Google Gadgets?"
Thanks for reading. If you're interested, the XML for the Gadget I am
http://www.house-o-games.com/neknek/gadgets/neknek.xml
(The failure occurs in the "canvas" view".)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "MochiKit" group.
To post to this group, send email to ***@googlegroups.com
To unsubscribe from this group, send email to mochikit+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/mochikit?hl=en
-~----------~----~----~----~------~----~------~--~---
Michael Heyeck
2009-05-01 13:04:37 UTC
Permalink
I have some additional information on this problem. First of all, the issue
doesn't appear to be specific to MockiKit; I tried including the Dojo
toolkit, and saw exactly the same behaviour. Secondly, the problem seems to
be an interaction between Google's back-end, IE, and my code. In short:

I include two JS files in my gadget (my actual gadget, not the test case I
mentioned in my earlier messages): MochiKit, and my application logic. I
use two SCRIPT tags, like so:

<SCRIPT type="text/javascript"
src="http://www.house-o-games.com/neknek/gadgets/play/MochiKit.js"></SCRIPT>
<SCRIPT type="text/javascript"
src="http://www.house-o-games.com/neknek/gadgets/play/play.js"></SCRIPT>

When I look at the rendered Gadget, however, Google has replaced these two
tags with the following one:

<SCRIPT src="//1-sandbox.gmodules.com/gadgets/concat?refresh=86400&container=ig&rewriteMime=text/javascript&gadget=http%3A%2F%2Fwww.house-o-games.com%2Fneknek%2Fgadgets%2Fplay.xml&fp=-182800334&1=http%3A%2F%2Fwww.house-o-games.com%2Fneknek%2Fgadgets%2Fplay%2FMochiKit.js&2=http%3A%2F%2Fwww.house-o-games.com%2Fneknek%2Fgadgets%2Fplay%2Fplay.js"
type="text/javascript"></SCRIPT>

Which, if you look at the URL, seems to be a composite of the two files
cached on Google's servers somewhere. This composite doesn't sit well with
IE.

I worked around the problem by generating the SCRIPT tags dynamically:

<SCRIPT type="text/javascript">
var i, externs;
externs = [ 'http://www.house-o-games.com/neknek/gadgets/play/MochiKit.js',
'http://www.house-o-games.com/neknek/gadgets/play/play.js'];

for (i = 0; i < externs.length; i++)
document.write(unescape("%3Cscript src='" + externs[i] + "'
type='text/javascript'%3E%3C/script%3E"));
</SCRIPT>

This code prevents the composition of the JS files, and keeps IE happy.

I talk about this issue at slightly greater length on my blog (
http://www.mlsite.net/blog/?p=168). Thanks for answering my e-mail, and
looking at my problem.

MochiKit works just fine for Google Gadgets, you just have to be careful how
you include it.

-- Mike
Post by Per Cederberg
In order to break this down a bit, could you try the page with just
the MochiKit.Base module? Use the download customizer to create a
minimized version with the modules you wish to try.
http://svn.mochikit.com/mochikit/trunk/packed/MochiKit/customize.html
We need to know more details about which module that breaks to analyze
this. It is not a known issue.
Cheers,
/Per
Post by MXH
I'm having trouble using MochiKit with a Gadget I'm writing for the
iGoogle interface. Specifically, even the inclusion of the
MochiKit.js file (via a SCRIPT tag) seems to break otherwise-
functional Gadgets in IE6 or (more seriously) IE7. (Other browsers
seem fine.)
1.) I create a Gadget that *doesn't* depend on MochiKit
2.) The Gadget works (i.e. it renders properly on load, which involves
JS building up the DOM)
3.) I add a SCRIPT tag to the Gadget to import MochiKit.js
4.) The Gadget breaks (i.e. it won't render properly on load 90% of
the time)
a.) The Gadget has an "html" Content Type (To clarify the
clarification: "Content Type" refers to the parameter in Google's
Gadget XML spec, not the HTML Header.)
b.) This happens even if I include the "MochiKit={__export__:false};"
line at the top of MochKit.js, which should suppess symbol export.
c.) Again, the Gadget isn't making any use of MochiKit, it's just
trying to import the JavaScript.
d.) The failure is intermittent, but I've never seen it fail w/o the
MochiKit include, and it fails ~90% of the time with the include, so I
feel pretty sure the two are related.
My question: "Is this a known problem? Has anyone else had
experiences, good or bad, with IE6 or IE7 compatibility when using
MochiKit to develop Google Gadgets?"
Thanks for reading. If you're interested, the XML for the Gadget I am
http://www.house-o-games.com/neknek/gadgets/neknek.xml
(The failure occurs in the "canvas" view".)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "MochiKit" group.
To post to this group, send email to ***@googlegroups.com
To unsubscribe from this group, send email to mochikit+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/mochikit?hl=en
-~----------~----~----~----~------~----~------~--~---

Loading...