我有一个生成 URL 的工具,以及一个用于将生成的 URL 复制到剪贴板的按钮。此函数确实成功复制了我的 URL:
function copyUrlToClipboard() {
var $temp = $("<input>");
$("body").append($temp);
$temp.val(myUrl).select();
document.execCommand("copy");
$temp.remove();
}
但是,在复制的 URL 中,与号字符被替换为&%3B
. 例如,网址
mysite.com/?utm_source=se&utm_medium=foo
变成
mysite.com/?utm_source=se&%3Butm_medium=foo
不幸的是,我在下游使用分段/幅度分析,它无法从该 URL 中提取参数。
为什么会这样?有没有办法改变 的行为copy
,或者我可以对剪贴板项目进行一些后处理?如果做不到这一点,是否有人知道是否可以将段配置为更智能地提取参数?
更新:
经过调查,它似乎$temp.val()
负责替换&
(&
我不确定这个术语是什么 - 清理它?),然后在浏览器中粘贴 url 时,它;
被清理为%3B
. 但我不明白为什么val()
要进行清理,是否可以在我的临时元素上设置属性/属性,或者使用不同类型的元素?