123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- // Just for temporarily mobile debug.
- (function () {
- var infoDom;
- var msgs = [];
- var count = 0;
- /**
- * @param {string|Object|Array} msg
- */
- window.facePrint = function (msg) {
- if (!infoDom) {
- infoDom = createInfoDom();
- }
- if (isObject(msg)) {
- msg = window.facePrint.objToStr(msg);
- }
- msgs.push(encodeHTML(msg));
- count++;
- if (msgs.length > 30) {
- msgs.shift();
- }
- var str = '';
- // Make some change in view, otherwise user may
- // be not aware that log is still printing.
- for (var i = 0; i < msgs.length; i++) {
- str += '<span style="background:#555;margin: 0 3px;padding: 0 2px;color:yellow;">'
- + (count - msgs.length + i) + '</span>' + msgs[i];
- }
- infoDom.innerHTML = str;
- };
- window.facePrint.objToStr = function (obj) {
- var msgArr = [];
- for (var key in obj) {
- msgArr.push(key + '=' + obj[key]);
- }
- return msgArr.join(', ');
- };
- function createInfoDom() {
- var dom = document.createElement('div');
- dom.style.cssText = [
- 'position: fixed',
- 'top: 0',
- 'width: 100%',
- 'min-height: 14px',
- 'line-height: 14px',
- 'z-index: 2147483647',
- 'color: #fff',
- 'font-size: 9px',
- 'background: #000',
- 'word-break:break-all',
- 'word-wrap:break-word'
- ].join(';') + ';';
- document.body.appendChild(dom);
- return dom;
- }
- function encodeHTML(source) {
- return source == null
- ? ''
- : String(source)
- .replace(/&/g, '&')
- .replace(/</g, '<')
- .replace(/>/g, '>')
- .replace(/"/g, '"')
- .replace(/'/g, ''');
- }
- function isObject(value) {
- // Avoid a V8 JIT bug in Chrome 19-20.
- // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
- var type = typeof value;
- return type === 'function' || (!!value && type == 'object');
- }
- })();
|