diff --git a/README.md b/README.md
index 7ffb1fa..96da0fa 100644
--- a/README.md
+++ b/README.md
@@ -42,7 +42,7 @@ npm install eruda --save
Add this script to your page.
```html
-
+
```
diff --git a/package.json b/package.json
index 1537a55..4810bd9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "eruda",
- "version": "0.5.0",
+ "version": "0.5.1",
"description": "Console for Mobile Browsers",
"main": "dist/eruda.js",
"scripts": {
diff --git a/src/Network/Network.es6 b/src/Network/Network.es6
index 5909d8f..9d64669 100644
--- a/src/Network/Network.es6
+++ b/src/Network/Network.es6
@@ -113,6 +113,7 @@ export default class Network extends Tool
util.extend(target, data);
target.time = target.time - target.startTime;
+ target.displayTime = formatTime(target.time);
this._render();
}
@@ -272,4 +273,11 @@ export default class Network extends Tool
requests: this._requests
}));
}
+}
+
+function formatTime(time)
+{
+ if (time < 1000) return time + 'ms';
+
+ return (time / 1000).toFixed(1) + 's';
}
\ No newline at end of file
diff --git a/src/Network/Network.hbs b/src/Network/Network.hbs
index d54b3b5..e7da8ea 100644
--- a/src/Network/Network.hbs
+++ b/src/Network/Network.hbs
@@ -35,7 +35,7 @@
{{method}}
{{subType}}
{{size}}
- {{time}}ms
+ {{displayTime}}
{{url}}
{{/each}}
diff --git a/src/Network/Network.scss b/src/Network/Network.scss
index 21579ed..3418689 100644
--- a/src/Network/Network.scss
+++ b/src/Network/Network.scss
@@ -51,7 +51,8 @@
border-bottom: 1px solid $gray;
li {
border-top: 1px solid $gray;
- overflow-x: auto;
+ overflow: auto;
+ height: 41px;
-webkit-overflow-scrolling: touch;
white-space: nowrap;
span {
@@ -60,6 +61,7 @@
height: 40px;
padding: 0 10px;
font-size: 14px;
+ vertical-align: top;
}
&:nth-child(even) {
background: $gray-light;
diff --git a/src/Network/Request.es6 b/src/Network/Request.es6
index 73877a3..baf364b 100644
--- a/src/Network/Request.es6
+++ b/src/Network/Request.es6
@@ -29,18 +29,21 @@ export default class Request extends util.Emitter
this.emit('update', this._id, {
type: type.type,
subType: type.subType,
- size: formatSize(xhr.getResponseHeader('Content-Length')),
+ size: getSize(xhr, true),
time: util.now(),
resHeaders: getHeaders(xhr)
});
}
handleDone()
{
+ var xhr = this._xhr;
+
this.emit('update', this._id, {
- status: this._xhr.status,
+ status: xhr.status,
done: true,
+ size: getSize(xhr),
time: util.now(),
- resTxt: this._xhr.responseText
+ resTxt: xhr.responseText
});
}
};
@@ -87,11 +90,36 @@ function getType(contentType)
}
}
-function formatSize(size)
+function getSize(xhr, headersOnly)
{
- size = util.toNum(size);
+ var size = 0;
+
+ function getStrSize()
+ {
+ if (!headersOnly)
+ {
+ var resTxt = xhr.responseText;
+ if (resTxt) size = lenToUtf8Bytes(resTxt);
+ }
+ }
+
+ try {
+ size = util.toNum(xhr.getResponseHeader('Content-Length'));
+ } catch (e)
+ {
+ getStrSize();
+ }
+
+ if (size === 0) getStrSize();
if (size < 1024) return size + 'B';
return (size / 1024).toFixed(1) + 'KB';
+}
+
+function lenToUtf8Bytes(str)
+{
+ var m = encodeURIComponent(str).match(/%[89ABab]/g);
+
+ return str.length + (m ? m.length : 0);
}
\ No newline at end of file