You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by kn...@apache.org on 2008/06/13 15:20:47 UTC

svn commit: r667521 - /wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js

Author: knopp
Date: Fri Jun 13 06:20:47 2008
New Revision: 667521

URL: http://svn.apache.org/viewvc?rev=667521&view=rev
Log:
backported safari head contribution filtering fixes

Modified:
    wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js

Modified: wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js?rev=667521&r1=667520&r2=667521&view=diff
==============================================================================
--- wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js (original)
+++ wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/wicket-ajax.js Fri Jun 13 06:20:47 2008
@@ -197,7 +197,11 @@
 		var script = tempDiv.childNodes[0].childNodes[0].innerHTML;
 		
 		element.outerHtml = text;
-		eval(script);
+		try {
+			eval(script);
+		} catch (e) {
+			Wicket.Log.error(e);
+		}
 		return;
 	}  
 	
@@ -290,7 +294,6 @@
 Wicket.replaceOuterHtmlSafari = function(element, text) {
 	// if we are replacing a single <script> element
 	if (element.tagName == "SCRIPT") {
-
 		// create temporal div and add script as inner HTML		
 		var tempDiv = document.createElement("div");
 		tempDiv.innerHTML = text;
@@ -302,10 +305,14 @@
 		}
 		
 		element.outerHTML = text;
-		eval(script);
+		try {
+			eval(script);
+		} catch (e) {
+			Wicket.Log.error(e);
+		}
 		return;
 	}
-	var parent = element.parentNode;	
+	var parent = element.parentNode;
 	var next = element.nextSibling;
 	
 	var index = 0;
@@ -320,9 +327,12 @@
 	// go through newly added elements and try to find javascripts that 
 	// need to be executed	
 	while (element != next) {
-		Wicket.Head.addJavascripts(element);
+		try {
+			Wicket.Head.addJavascripts(element);
+		} catch (ignore) {
+		}
 		element = element.nextSibling;
-	}
+	}	
 }
 
 /**
@@ -900,7 +910,7 @@
 	stateChangeCallback: function() {	
 		var t = this.transport;
 		var status;
-
+		
 		if (t != null && t.readyState == 4) {
 			try {
 				status = t.status;
@@ -1402,11 +1412,12 @@
 			
 			// determine whether it is external javascript (has src attribute set)
 			var src = node.getAttribute("src");
+			
 			if (src != null && src != "") {
 				// load the external javascript using Wicket.Ajax.Request
 				
 				// callback when script is loaded
-				var onLoad = function(content) {
+				var onLoad = function(content) {					
 					Wicket.Head.addJavascript(content, null, src);
 					Wicket.Ajax.invokePostCallHandlers();
 
@@ -1469,9 +1480,15 @@
 		return false;
 
 	var head = document.getElementsByTagName("head")[0];
+	
+	if (element.tagName == "script")
+		head = document;
+	
 	var nodes = head.getElementsByTagName(element.tagName);
+	
 	for (var i = 0; i < nodes.length; ++i) {
-		var node = nodes[i];		
+		var node = nodes[i];				
+		
 		// check node names and mandatory attribute values
 		// we also have to check for attribute name that is suffixed by "_".
 		// this is necessary for filtering script references