Iry,

Thanks for reporting this, I've just committed a fix in changeset 
6346:de03f821784b.  The problem was that in browsers without native JSON 
parsing, json2 has to be loaded for storage to function.  Let me know if this 
doesn't resolve your issue.

-Dannon


On Nov 14, 2011, at 11:11 AM, Iry Witham wrote:

> I have have discovered that this error is not unique to the number of files I 
> am linking.  It has been reported from several of my users that there is a 
> similar issue with Internet Explorer 8.  
> 
> Step 1: Import shared data into history: One user tried to import data from a 
> shared library into her history.  Internet Explorer puts up an ugly message 
> “Stop running this script?” Complaining that continuing to run the script 
> will cause her machine to stop functioning.  Sometimes the display seemed to 
> get truncated, only displaying a subset of the available datasets.  The 
> import seemed to work OK, though.
> 
> Step 2:  Debug the issue using IE built-in script debugger.  I was able to 
> replicate the issue and ran some minor debugging from within IE.  The results 
> of this are as follows:
> 
> Error Message:  Windows Internet Explorer
> 
> Stop running this script?
> 
> A script on this page is causing Internet Explorer to run slowly.
> If it continues to run, your computer might become unresponsive.
> 
> Debugging results:  Line: 1
> Error: jQuery, MooTools or Prototype needs to be loaded before jStorage!
> 
> (function(f){if(!f||!(f.toJSON||Object.toJSON||window.JSON)){throw new 
> Error("jQuery, MooTools or Prototype needs to be loaded before 
> jStorage!")}var 
> g={},d={jStorage:"{}"},h=null,j=0,l=f.toJSON||Object.toJSON||(window.JSON&&(JSON.encode||JSON.stringify)),e=f.evalJSON||(window.JSON&&(JSON.decode||JSON.parse))||function(m){return
>  String(m).evalJSON()},i=false;_XMLService={isXML:function(n){var 
> m=(n?n.ownerDocument||n:0).documentElement;return 
> m?m.nodeName!=="HTML":false},encode:function(n){if(!this.isXML(n)){return 
> false}try{return new XMLSerializer().serializeToString(n)}catch(m){try{return 
> n.xml}catch(o){}}return false},decode:function(n){var m=("DOMParser" in 
> window&&(new 
> DOMParser()).parseFromString)||(window.ActiveXObject&&function(p){var q=new 
> ActiveXObject("Microsoft.XMLDOM");q.async="false";q.loadXML(p);return 
> q}),o;if(!m){return false}o=m.call("DOMParser" in window&&(new 
> DOMParser())||window,n,"text/xml");return this.isXML(o)?o:false}};function 
> k(){if("localStorage" in 
> window){try{if(window.localStorage){d=window.localStorage;i="localStorage"}}catch(p){}}else{if("globalStorage"
>  in 
> window){try{if(window.globalStorage){d=window.globalStorage[window.location.hostname];i="globalStorage"}}catch(o){}}else{h=document.createElement("link");if(h.addBehavior){h.style.behavior="url(#default#userData)";document.getElementsByTagName("head")[0].appendChild(h);h.load("jStorage");var
>  
> n="{}";try{n=h.getAttribute("jStorage")}catch(m){}d.jStorage=n;i="userDataBehavior"}else{h=null;return}}}b()}function
>  
> b(){if(d.jStorage){try{g=e(String(d.jStorage))}catch(m){d.jStorage="{}"}}else{d.jStorage="{}"}j=d.jStorage?String(d.jStorage).length:0}function
>  
> c(){try{d.jStorage=l(g);if(h){h.setAttribute("jStorage",d.jStorage);h.save("jStorage")}j=d.jStorage?String(d.jStorage).length:0}catch(m){}}function
>  a(m){if(!m||(typeof m!="string"&&typeof m!="number")){throw new 
> TypeError("Key name must be string or numeric")}return 
> true}f.jStorage={version:"0.1.5.0",set:function(m,n){a(m);if(_XMLService.isXML(n)){n={_is_xml:true,xml:_XMLService.encode(n)}}g[m]=n;c();return
>  n},get:function(m,n){a(m);if(m in g){if(typeof 
> g[m]=="object"&&g[m]._is_xml&&g[m]._is_xml){return 
> _XMLService.decode(g[m].xml)}else{return g[m]}}return 
> typeof(n)=="undefined"?null:n},deleteKey:function(m){a(m);if(m in g){delete 
> g[m];c();return true}return 
> false},flush:function(){g={};c();try{window.localStorage.clear()}catch(m){}return
>  true},storageObj:function(){function m(){}m.prototype=g;return new 
> m()},index:function(){var m=[],n;for(n in 
> g){if(g.hasOwnProperty(n)){m.push(n)}}return m},storageSize:function(){return 
> j},currentBackend:function(){return i},storageAvailable:function(){return 
> !!i},reInit:function(){var 
> m,o;if(h&&h.addBehavior){m=document.createElement("link");h.parentNode.replaceChild(m,h);h=m;h.style.behavior="url(#default#userData)";document.getElementsByTagName("head")[0].appendChild(h);h.load("jStorage");o="{}";try{o=h.getAttribute("jStorage")}catch(n){}d.jStorage=o;i="userDataBehavior"}b()}};k()})(window.jQuery||window.$);
> 
> jQuery, MooTools or Prototype needs to be loaded before jStorage!
> 
> I cannot replicate this with other browsers.  I have tried it with Google 
> Crome and Firefox 3.6.20.
> 
> Thanks,
> 
> Iry Witham
> ___________________________________________________________
> Please keep all replies on the list by using "reply all"
> in your mail client.  To manage your subscriptions to this
> and other Galaxy lists, please use the interface at:
> 
>  http://lists.bx.psu.edu/


___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:

  http://lists.bx.psu.edu/

Reply via email to