Fix unexpected token \t in JSON

This commit is contained in:
surunzi
2018-09-02 01:37:22 +08:00
parent 38bdad0a64
commit ba1453fa1b
4 changed files with 297 additions and 288 deletions

View File

@@ -4,5 +4,7 @@
_('escapeJsStr') _('escapeJsStr')
function exports(str) { function exports(str) {
return escapeJsStr(str).replace(/\\'/g, "'") return escapeJsStr(str)
.replace(/\\'/g, "'")
.replace(/\t/g, '\\t')
} }

View File

@@ -168,9 +168,12 @@ export default class Elements extends Tool {
} }
}) })
.on('click', '.eruda-breadcrumb', () => { .on('click', '.eruda-breadcrumb', () => {
let data = let data = this._elData
this._elData ||
JSON.parse(stringify(this._curEl, { getterVal: true })) if (!data) {
data = stringify(this._curEl, { getterVal: true })
data = JSON.parse(data)
}
let sources = container.get('sources') let sources = container.get('sources')
this._elData = data this._elData = data

View File

@@ -259,7 +259,9 @@ export var escapeJsonStr = _.escapeJsonStr = (function () {
*/ */
function exports(str) { function exports(str) {
return escapeJsStr(str).replace(/\\'/g, "'"); return escapeJsStr(str)
.replace(/\\'/g, "'")
.replace(/\t/g, '\\t')
} }
return exports; return exports;

View File

@@ -1258,7 +1258,9 @@ export var escapeJsonStr = _.escapeJsonStr = (function () {
*/ */
function exports(str) { function exports(str) {
return escapeJsStr(str).replace(/\\'/g, "'") return escapeJsStr(str)
.replace(/\\'/g, "'")
.replace(/\t/g, '\\t')
} }
return exports; return exports;
@@ -2205,7 +2207,7 @@ export var isCrossOrig = _.isCrossOrig = (function () {
* startWith * startWith
*/ */
var origin = window.location.origin let origin = window.location.origin
function exports(url) { function exports(url) {
return !startWith(url, origin) return !startWith(url, origin)
@@ -2279,7 +2281,7 @@ export var isErudaEl = _.isErudaEl = (function () {
*/ */
function exports(el) { function exports(el) {
var parentNode = el.parentNode let parentNode = el.parentNode
if (!parentNode) return false if (!parentNode) return false
@@ -3218,13 +3220,13 @@ export var evalCss = _.evalCss = (function () {
* toStr each filter * toStr each filter
*/ */
var styleList = [], let styleList = []
scale = 1 let scale = 1
function exports(css, container) { function exports(css, container) {
css = toStr(css) css = toStr(css)
for (var i = 0, len = styleList.length; i < len; i++) { for (let i = 0, len = styleList.length; i < len; i++) {
if (styleList[i].css === css) return if (styleList[i].css === css) return
} }
@@ -5170,7 +5172,7 @@ export var safeStorage = _.safeStorage = (function () {
function exports(type, memReplacement) { function exports(type, memReplacement) {
if (isUndef(memReplacement)) memReplacement = true if (isUndef(memReplacement)) memReplacement = true
var ret let ret
switch (type) { switch (type) {
case 'local': case 'local':
@@ -5183,9 +5185,9 @@ export var safeStorage = _.safeStorage = (function () {
try { try {
// Safari private browsing // Safari private browsing
var x = 'test-localStorage-' + Date.now() let x = 'test-localStorage-' + Date.now()
ret.setItem(x, x) ret.setItem(x, x)
var y = ret.getItem(x) let y = ret.getItem(x)
ret.removeItem(x) ret.removeItem(x)
if (y !== x) throw new Error() if (y !== x) throw new Error()
} catch (e) { } catch (e) {
@@ -6490,7 +6492,7 @@ export var getFileName = _.getFileName = (function () {
*/ */
function exports(url) { function exports(url) {
var ret = last(url.split('/')) let ret = last(url.split('/'))
if (ret.indexOf('?') > -1) ret = trim(ret.split('?')[0]) if (ret.indexOf('?') > -1) ret = trim(ret.split('?')[0])