From: Dion O. <dol...@us...> - 2006-01-24 16:30:36
|
Update of /cvsroot/magicajax/magicajax/Core/script In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19281/magicajax/Core/script Modified Files: AjaxCallObject.js Log Message: Several fixes to get the reflecting for scripts and stylesheets working Index: AjaxCallObject.js =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/script/AjaxCallObject.js,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** AjaxCallObject.js 23 Jan 2006 01:28:41 -0000 1.48 --- AjaxCallObject.js 24 Jan 2006 16:30:27 -0000 1.49 *************** *** 799,810 **** if (document.styleSheets) { if (document.styleSheets.length == 0) ! { ! //no stylesheets yet, so create empty one ! var head = document.getElementsByTagName("head")[0]; ! var style = document.createElement("style"); ! style.type = "text/css"; ! head.appendChild(style); ! } //add style rule to last stylesheet (forces proper cascading) --- 799,806 ---- if (document.styleSheets) { + // based on http://www.bobbyvandersluis.com/articles/dynamicCSS.php + var style = null; if (document.styleSheets.length == 0) ! style = this.CreateStyleTag(); //add style rule to last stylesheet (forces proper cascading) *************** *** 813,817 **** { //Mozilla ! lastStyle.insertRule(innerText, lastStyle.cssRules.length); } else if (typeof lastStyle.addRule == "object") --- 809,816 ---- { //Mozilla ! var styleRule = document.createTextNode(innerText); ! style = (style == null) ? this.CreateStyleTag() : style; ! style.appendChild(styleRule); ! //lastStyle.insertRule(innerText, lastStyle.cssRules.length); //doesn't seems to work } else if (typeof lastStyle.addRule == "object") *************** *** 830,833 **** --- 829,843 ---- } + AjaxCallObject.prototype.CreateStyleTag = function() + { + var head = document.getElementsByTagName("head")[0]; + var style = (typeof document.createElementNS != "undefined") ? + document.createElementNS("http://www.w3.org/1999/xhtml", "style") : + document.createElement("style"); + style.setAttribute("type", "text/css"); + //style.setAttribute("media", "screen"); + return head.appendChild(style); + } + AjaxCallObject.prototype.SetFieldIfEmpty = function(fieldName, fieldValue) { |