首页 > 解决方案 > 动态生成的 href 无法正确显示

问题描述

所以我试图让这个链接出现在我的页面上,但它不会返回 /register 路径,它会立即进入 UTM ......在网站上它会显示 href 为

domain.com/?utm_campaign...

代替

domain.com/register?utm_campaign... 

为什么会这样,如何解决?

<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
// get the required parameter
const campaign = urlParams.get('utm_campaign');
const source = urlParams.get('utm_source');
const medium = urlParams.get('utm_medium');

var registerationURL = new URL('../register?utm_campaign=&utm_source=&utm_medium=');
registerationURL.searchParams.set('utm_campaign', campaign);
registerationURL.searchParams.set('utm_source', source);
registerationURL.searchParams.set('utm_medium', medium);

var a = document.getElementbyID('test').innerHTML;
a.href = registerationURL;

</script>

<a id="test" href="#">Click here</a>

标签: javascript

解决方案


document.getElementbyID('test').innerHTML返回字符串“单击此处”。删除.innerHTML它应该可以工作。

但是,这可以通过以下方式更简单地完成

var registrationUrl = location.origin + '/register' + location.search;

推荐阅读