Я создаю расширение Chrome, которое в основном находит строку текста, такую как эта (обратите внимание на различные цифры):
id%22%3A99986%2C%22name%22%3A%22null%22%7D%2C%7B%22id%22%3A1002938%2C%22name%22%3A%22null%22%7D%2C%7B%22
, а затем использую javascript, чтобы поменять этот текст выше с этим:
id%22%3A77764%2C%22name%22%3A%22null%22%7D%2C%7B%22id%22%3A77984%2C%22name%22%3A%22null%22%7D%2C%7B%22id%22%3A87746%2C%22name%22%3A%22null%22%7D%2C%7B%22
Я не могу заставить эту работу вообще.Все, что я могу сделать, это поменять номера идентификаторов и заменить отдельные части кода, тогда как я хочу улучшить его, заменив более крупными частями кода.Может ли кто-нибудь помочь мне пройти через это, потому что я в замешательстве.
Вот код, который работает для меня:
document.body.innerHTML = document.body.innerHTML.replace(/99986/g, '77764');
Я пытаюсь заменить один фрагмент кода на два фрагмента кода (очевидно, это неправильно, но понятно, чтоЯ пытаюсь сделать):
document.body.innerHTML = document.body.innerHTML.replace(/id%22%3A99986%2C%22name%22%3A%22null%22%7D%2C%7B%22/g, 'id%22%3A77764%2C%22name%22%3A%22null%22%7D%2C%7B%22id%22%3A77984%2C%22name%22%3A%22null%22%7D%2C%7B%22');
Обновление 1:
Спасибо Emeeus, ваш код работал отлично!К сожалению, я допустил ошибку в своем примере, поэтому мне пришлось исправить это с самого конца.Это новый код, использующий ваш макет:
var strA =
"%7Bid%22%3A1001%2C%22name%22%3A%22The+Antique+Store%22%7D%2C%7B%22id%22%3A1010%2C%22name%22%3A%22Clothes%22%7D%2C%7B%22id%22%3A1349%2C%22name%22%3A%22Old+Store%22%7D";
var strB = "%7Bid%22%3A1001%2C%22name%22%3A%22The+Modern+Store%22%7D%2C%7B%22id%22%3A1010%2C%22name%22%3A%22Clothes%22%7D%2C%7B%22id%22%3A1349%2C%22name%22%3A%22New+Store%22%7D";
var arrA = JSON.parse(decodeURIComponent(',{""' + strA + '",:""}'));
var arrB = JSON.parse(decodeURIComponent(',{""' + strB + '",:""}'));
console.log(arrA)
console.log(arrB)
var res = Object.assign(arrA, arrB);
console.log(encodeURIComponent(JSON.stringify(res)))
Но я столкнулся с этой ошибкой «Ошибка: неожиданный токен в JSON в позиции 0».Есть идеи?