I realize this is way too late, but I stumbled across this posting while trying to find a solution to my problem, and ended up fixing it myself. Here was my solution, all changes are in lightwindow.js.
near the top, i added a variable called currentlyFetching and default it to false
Code:
windowActive : false,
currentlyFetching : false,
dataEffects : [],
then in the _loadWindow function, in the page: block about half way down the file, i wrapped the ajax call in an if block, and reset the variable in the oncomplete:
Code:
case 'page' :
if (this.currentlyFetching == false) {
this.currentlyFetching = true
var newAJAX = new Ajax.Request(
this.contentToFetch, {
method: 'get',
parameters: '',
onComplete: function(response) {
$('lightwindow_contents').innerHTML += response.responseText;
this.resizeTo.height = $('lightwindow_contents').scrollHeight+(this.options.contentOffset.height);
this.resizeTo.width = $('lightwindow_contents').scrollWidth+(this.options.contentOffset.width);
this._processWindow();
this._processPostloadAction();
this.currentlyFetching = false;
}.bind(this)
}
);
}
break;
Now, any subsequent ajax requests will drop until the first one is completed.
Bookmarks