Update of /cvsroot/magicajax/magicajax/Core/script
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27153/magicajax/Core/script
Modified Files:
AjaxCallObject.js
Log Message:
Fix for .NET 1,1
Stylesheet updates on callback
Index: AjaxCallObject.js
===================================================================
RCS file: /cvsroot/magicajax/magicajax/Core/script/AjaxCallObject.js,v
retrieving revision 1.47
retrieving revision 1.48
diff -C2 -d -r1.47 -r1.48
*** AjaxCallObject.js 20 Jan 2006 01:35:56 -0000 1.47
--- AjaxCallObject.js 23 Jan 2006 01:28:41 -0000 1.48
***************
*** 406,414 ****
if (target != null && target.type == "image" && target.name && target.name != '')
{
! //image callbacks only supported for IE (for now). For other browsers force a postback.
if (window.event)
theData += target.name + ".x=" + window.event.offsetX + "&" + target.name + ".y=" + (window.event.offsetY - target.offsetTop) + "&";
- else
- return false;
}
--- 406,412 ----
if (target != null && target.type == "image" && target.name && target.name != '')
{
! //image callbacks only supported for IE (for now). For other browsers, no .x and .y is sent yet.
if (window.event)
theData += target.name + ".x=" + window.event.offsetX + "&" + target.name + ".y=" + (window.event.offsetY - target.offsetTop) + "&";
}
***************
*** 786,789 ****
--- 784,833 ----
}
+ AjaxCallObject.prototype.AddHeaderElement = function(tagName, innerText, attributes)
+ {
+ switch (tagName)
+ {
+ case "link":
+ var link = document.getElementsByTagName("head")[0].appendChild(document.createElement("link"));
+ for (i=0; i < attributes.length; i+=2)
+ link.setAttribute(attributes[i], attributes[i+1]);
+ break;
+ case "title":
+ document.title = innerText;
+ break;
+ case "style":
+ 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)
+ var lastStyle = document.styleSheets[document.styleSheets.length - 1];
+ if (typeof lastStyle.insertRule == "function")
+ {
+ //Mozilla
+ lastStyle.insertRule(innerText, lastStyle.cssRules.length);
+ }
+ else if (typeof lastStyle.addRule == "object")
+ {
+ //IE
+ var splitRules = innerText.split('}');
+ for (i=0; i<splitRules.length-1; i++)
+ {
+ var splitNameValue = splitRules[i].split('{');
+ lastStyle.addRule(splitNameValue[0], splitNameValue[1]);
+ }
+ }
+ }
+ break;
+ }
+ }
+
AjaxCallObject.prototype.SetFieldIfEmpty = function(fieldName, fieldValue)
{
|