Мне нужно решение для разбора значения в URL-адресе, разделенном между %2526_ga%253d
и &wct
затем append &_ga=
+ the parsed value
до конца того же URL-адреса.
Это мой URL, который всегда отличается, но %2526_ga%253d
и &wct
всегда одинаковы. http://www.example.com/wa=wsignin1.0%2526_ga%253d1.193373933.1506621463.1391436765&wct=2014-04-25T19
Конечным результатом будет: http://www.example.com/wa=wsignin1.0%2526_ga%253d1.193373933.1506621463.1391436765&wct=2014-04-25T19 &_ga=1.193373933.1506621463.1391436765
Я выполнил свое решение, и это работает:
var gacookie = window.location.search.match('_ga%253d(.+)&wct=');
var url = window.location.href;
if (url.indexOf('_ga') > -1) {
url += '&_ga=' + gacookie[1]
parent.location.hash = url
var hash = location.hash.replace('#', gacookie[1]);
if(hash != '') {
location.hash = '&_ga=' + gacookie[1];
}
}
Вот результат. Спасибо @Mattias за помощь в матче.
var gacookie = window.location.search.match('_ga%253d(.+)&wct=');
var url = window.location.href;
if (url.indexOf('_ga') > -1) {
url += '&_ga=' + gacookie[1]
parent.location.hash = url
var hash = location.hash.replace('#', gacookie[1]);
if(hash != '') {
location.hash = '&_ga=' + gacookie[1];
}
}
Вы можете сделать это с помощью RegEx:
var url = 'http://www.example.com/wa=wsignin1.0%2526_ga%253d1.193373933.1506621463.1391436765&wct=2014-04-25T19';
var value = url.match('_ga%(.+)&wct=');
url = url + "&_ga=" + value[1];
Вероятно, вы должны добавить некоторую логику проверки...