Hi all,
I have some problem with Lightstreamer Client API in IE. Sometimes data on a streaming page freeze, but sometimes messages with error 120 appears. I check this in IE6. Also this page is tested in Chrome, FireFox and Opera, where it works fine. I've fixed error 120 through reloading the page. But data continue to freeze sometimes. I allowed script debugging in Internet Explorer and then saw the next javascript exception:
msxml3.dll: The download of the specified resource has failed.
This exception occures in
http://push.somedomain.com/lightstreamer/ajax_frame.html, in function sendRequestExecution(...) on line 83.
requestObject.sender.send(_url);
I adduce source code of the streaming page:
//////////////// Master Push-Page Configuration
var pushPage = new PushPage();
pushPage.context.setDebugAlertsOnClientError(false);
pushPage.context.setRemoteAlertsOnClientError(true);
pushPage.context.setDomain("somedomain.com");
function reloadClient(code, text) {
if( code == 120 ) {
// sometime this error occures in IE
setTimeout( function(){location.href = location.href + "&Test=" + code;}, 10 ); // it helps
} else {
setTimeout( function(){alert("Error " + code + "\n" + text);}, 10 );
}
};
pushPage.onClientAlert = reloadClient;
pushPage.onEngineCreation = function(lsEngine) {
lsEngine.onClientAlert = reloadClient;
lsEngine.context.setDebugAlertsOnClientError(false);
lsEngine.context.setRemoteAlertsOnClientError(true);
lsEngine.connection.setLSHost("push.somedomain.com");
lsEngine.connection.setLSPort(80);
lsEngine.connection.setAdapterName("DATALISTADAPTER");
lsEngine.changeStatus("STREAMING");
};
pushPage.bind();
pushPage.createEngine("DataListEngine", "ls/", "SHARE_SESSION", true);
//////////////// Table Management
// create an OverwriteTable; item and field names will be grabbed from
// the corresponding HTML divs
var table = new OverwriteTable(null, null, "MERGE");
table.setDataAdapter("DATA_ADAPTER");
table.setSnapshotRequired(true);
table.onChangingValues = function(itemPos, visualUpdateInfo, itemName) {
// some highlighting effect
};
table.onItemUpdate = function(itemPos, updateItemInfo, itemName) {
// some field is added
};
// bind the table to the corresponding HTML divs
pushPage.addTable(table, "data");
What is incorrect in this code? Or how it may be change in order to avoid problems in IE?
NB 1. We don't use somedomain.com for this project, the streaming page and other its pages load from www2.somedomain.com. All listed domains are attached to different machines.
NB 2. The streaming page works through two iframe items.