【发布时间】:2019-12-03 22:02:38
【问题描述】:
在将头撞在屏幕上几个小时后,我被卡住了。我希望有更多知识的人可以帮助我。我的最终目标是获取解析后的 URL 参数并将它们显示在我的 Wordpress 页面的正文中。示例 URL 可能是“www.urlexample.com/?var1=red&var2=shoes”。
如果我检查我的页面,我可以在会话存储中看到键/值对显示。例如,我会看到带有 value="red" 的 key="var1"。所以这意味着这意味着javascript正在工作。现在如何在我的页面正文中显示它?例如; “你最喜欢的颜色是红色”(红色是 var1)
<!-- URL Parse Code -->
<script>
var queryForm = function(settings) {
var reset = settings && settings.reset ? settings.reset : false;
var self = window.location.toString();
var querystring = self.split("?");
if (querystring.length > 1) {
var pairs = querystring[1].split("&");
for (i in pairs) {
var keyval = pairs[i].split("=");
if (reset || sessionStorage.getItem(keyval[0]) === null) {
sessionStorage.setItem(keyval[0], keyval[1]);
}
}
}
var hiddenFields = document.querySelectorAll("input[type=hidden]");
for (var i=0; i<hiddenFields.length; i++) {
var param = sessionStorage.getItem(hiddenFields[i].name);
if (param) document.getElementById(hiddenFields[i].name).value = param;
}
}
queryForm();
</script>
<!-- URL Parse Code -->
【问题讨论】:
-
看看UrlSearchParams应该会有所帮助。
-
@Bibberty - 关于 URLSearchParams... 这可以捕获着陆页吗?上面的代码让我解析了要存储的 URL 变量是 sessionStorage。我也在寻找一种方法将登录页面存储为变量。想法?
-
你的意思是网址的路径吗?
-
看看URL 或者使用
const url = new URL(window.location);从那里你可以得到你需要的东西。 -
@Bibberty 好的,通过您记下的 URL 链接取得进展。下面的答案使用了会话数据。此方法中的任何想法如何在 HTML 文本字段中显示变量?下面是我正在使用的代码,可以正确控制这些值。 ```const EnteringURL = 'example.com/?campaign=vcampaign&src=vsrc' const urlObject = new URL(EnteringURL); const host = urlObject.host const href = urlObject.href console.log(host) console.log(href) let url = new URL(EnteringURL);让 params = new URLSearchParams(url.search.slice(1)); console.log(url.searchParams.get('campaign'));
标签: javascript wordpress variables