我有一个生成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()
进行清理,是否可以在temp元素上设置属性/属性,或者要使用其他类型的元素?
答案 0 :(得分:0)
感谢评论建议,我知道了。这是因为myUrl
来自Django模板变量:
{{ original.my_url }}
事实证明,我不得不将此变量标记为safe:
{{ original.my_url | safe }}
现在,它无需修改即可复制url。谢谢你的建议!