*/
$.ajaxSetup({ cache: true });
- document.write = document_write;
- document.writeln = document_write;
-
src += "/www/delivery/spc.php?zones=";
/** Only fetch banners, that are really included in this page */
ads.push(id);
}
+ document.write = document_write;
+ document.writeln = document_write;
+
render_ads();
}
}
else {
/** Remember iinline-code, if present */
- src = result[1]
+ src = result[1] + ' ' // << simplifies the following regular expression: the string ends with a space in any case, so that the src-URL cannot be followed by the end of the string emediately!
inline = result[2];
/** Strip all text up to and including "</script>" from OA_output[id] */
OA_output[id] = OA_output[id].slice(result[0].length,OA_output[id].length);
- result = /src\s*=\s*['"]([^'"]*)['"]/i.exec(src);
+ result = /src\s*=\s*['"]?([^'"]*)['"]?\s/i.exec(src);
if (result == null) {
/** script-tag with inline-code: execute inline-code! */
result = /^\s*<.*$/m.exec(inline);
}
else {
/** script-tag with src-URL! */
- ads.unshift(id); // << The banner might not be rendered fully, or include more calls to document.write().
+ if (OA_output[id].length > 0)
+ /** The banner-code was not rendered completely yet! */
+ ads.unshift(id);
/** Load the script and halt all work until the script is loaded and executed... */
$.getScript(result[1], render_ads); // << jQuery.getScript() generates onload-Handler for _all_ browsers ;)
return;
/** This function is used to overwrite document.write and document.writeln */
function document_write() {
+ if (id == undefined)
+ return;
+
for (var i=0; i<arguments.length; i++)
output.push(arguments[i]);