Namespaces
Variants
Actions
(Difference between revisions)

Browser 7.3 XMLHttpRequest Issue (Known Issue)

Jump to: navigation, search
m (Protected "KIC001676 - Browser 7.3 XMLHttpRequest Issue" ([edit=sysop] (indefinite) [move=sysop] (indefinite)))
m (Hamishwillee - Bot update)
Line 1: Line 1:
__NOTOC__
+
{{ArticleMetaData <!-- v1.2 -->
__NOEDITSECTION__
+
|sourcecode= <!-- Link to example source code e.g. [[Media:The Code Example ZIP.zip]] -->
{{KBKI}}
+
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
 +
|devices= <!-- Devices tested against - e.g. ''devices=Nokia 6131 NFC, Nokia C7-00'') -->
 +
|sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Qt SDK 1.1.4]) -->
 +
|platform= <!-- Compatible platforms - e.g. Symbian^1 and later, Qt 4.6 and later -->
 +
|devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) -->
 +
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
 +
|signing= <!-- Signing requirements - empty or one of: Self-Signed, DevCert, Manufacturer -->
 +
|capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. -->
 +
|keywords= <!-- APIs, classes and methods (e.g. QSystemScreenSaver, QList, CBase -->
 +
|language= <!-- Language category code for non-English topics - e.g. Lang-Chinese -->
 +
|translated-by= <!-- [[User:XXXX]] -->
 +
|translated-from-title= <!-- Title only -->
 +
|translated-from-id= <!-- Id of translated revision -->
 +
|review-by= <!-- After re-review: [[User:username]] -->
 +
|review-timestamp= <!-- After re-review: YYYYMMDD -->
 +
|update-by= <!-- After significant update: [[User:username]]-->
 +
|update-timestamp= <!-- After significant update: YYYYMMDD -->
 +
|creationdate= 20110823
 +
|author= [[User:Nokia Developer KB]]
 +
}}
 
{{KnowledgeBase
 
{{KnowledgeBase
 
|id=KIC001676
 
|id=KIC001676

Revision as of 07:24, 30 March 2012

Article Metadata

Article
Created: User:Nokia Developer KB (23 Aug 2011)
Last edited: hamishwillee (30 Mar 2012)
Article Metadata

Tested with
Devices(s): All devices with Browser 7.3

Compatibility
Platform(s): Symbian^3, Symbian S60 5th Edition, Symbian S60 3rd Edition FP2

Article
Created: (23 Aug 2011)
Last edited: hamishwillee (30 Mar 2012)

Description

When a Symbian Web Runtime widget, started from the Applications menu, is trying to access the internet for the first time, an 'Allow connection to Network?' prompt is shown. In previous browser versions, answering 'No' fires an onoffline event and XMLHttpRequest completes with status code 0. In Browser 7.3, denying network access fires an onoffline event, but XMLHttpRequest does not complete.

Solution

The solution is to implement a timer that aborts the XMLHttprequest if it is taking too long to complete. This will ensure that the request won’t be left hanging forever. Also, please note that usage of online/offline API is recommended in all WRT widgets.

var timeOutDelay = 10000; // 10 sec
var timerId;
 
var xmlHttpRequest = new XMLHttpRequest();
xmlHttpRequest.open("GET", "http://www.nokia.com", true);
 
xmlHttpRequest.onreadystatechange = function(){
if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
clearTimeout(timerId);
alert(xmlHttpRequest.responseText);
}
}
xmlHttpRequest.send(null);
timerId = setTimeout(xmlHttpRequestOnTimeOut, timeOutDelay);
 
function xmlHttpRequestOnTimeOut(){
xmlHttpRequest.abort();
alert("XMLHttpRequest timed out");
}
127 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved