For you serious debuggers, this is crude, but might meet most of our needs most of the time. 1. I renamed dbc to dbcn, debug cloneNode. 2. I renamed dbe to dbev, debug events. 3. New toggle command dber to debug all js errors, even caught errors. 4. All of these debug messages flow within the debug stream, even if you redirect to a file. They use to be simple prints. 5. dber prints the error and line number. To be most useful, scripts should be deminimized. 6. If the error is uncaught you'll see it twice, once from the error interceptor and once when the script aborts. 7. nasa.gov generates a lot of caught errors, not sure which ones of these are ok and which ones not. This will be a recurrring theme. Karl Dahlke
Thanks for the new commands! I have not scratched the surface of the new diagnostics yet. Question for Karl about the new CSS code. Can this be called on short inline CSS strings as well as entire files? Sorry if we addressed this in the past. It seems familiar. Oh well, it doesn't matter. This scenario is the cause of one of the frequent runtimes: p = document.createElement("p") literalCSS = "my-attribute:12345" p.style.cssText = literalCSS p.style.myAttribute.indexOf('4') It's pseudocode but the point is that it expects my-attribute to have been converted into a literal myAttribute string which has the string functions. And you do the inline conversion in cssApply, but I can't quite tell if cssApply or dostyle is available a la carte. I'd like to reuse your work that carves up the rules, but I don't need to run either of the gather routines. Just something like.. mw0.CSSStyleDeclaration.prototype.cssText = function(t) { // call cssApply and attach the converted n-v pair to 'this' } thanks Kevin PS, I found out the practical reason for this case conversion! It's to prevent hyphens from being interpreted as subtraction in javascript. So this is a similar issue to hyphens in event names, and the reason why we switched from the dot notation to the bracket notation in the events code. It hadn't clicked for me before that there is actually a point to the conversion into mixedCase.