У меня есть инструмент, который генерирует URL-адреса, и кнопка для копирования сгенерированного URL-адреса в буфер обмена.Эта функция успешно копирует мой URL:
function copyUrlToClipboard() {
var $temp = $("<input>");
$("body").append($temp);
$temp.val(myUrl).select();
document.execCommand("copy");
$temp.remove();
}
Однако в скопированном URL символы амперсанда заменяются на &%3B
.Например, URL
mysite.com/?utm_source=se&utm_medium=foo
становится
mysite.com/?utm_source=se&%3Butm_medium=foo
К сожалению, я использую аналитику сегмента / амплитуды вниз по течению, которая не в состоянии извлечь параметрыс этого URL.
Почему это происходит?Есть ли способ изменить поведение copy
или какую-либо постобработку, которую я могу выполнить для элемента буфера обмена?Если это не так, кто-нибудь знает, можно ли сконфигурировать сегмент, чтобы он был более умным в отношении извлечения параметров?
Обновление :
После расследования выясняется, что $temp.val()
отвечает за замену&
с &
(я не уверен, что это за термин - дезинфекция?), А затем после вставки URL в браузер ;
санируется как %3B
.Но я не понимаю, почему val()
очищается, есть ли свойство / атрибут, который я могу установить для моего временного элемента, или другой тип элемента для использования?