gpt4 book ai didi

javascript - 仅当用户使用 URL 查询时显示 DIV

转载 作者:行者123 更新时间:2023-11-28 01:09:21 25 4
gpt4 key购买 nike

我想仅当用户在 URL 中输入查询时才显示 div。我有以下代码:

HTML

<div id="hidden" style="width:100%;height:20%;background-color:blue;display:none;">
Hidden Div Contents
</div>

JS

$(function() {
var params = {};
var ps = window.location.search.split(/\?|&/);
for (var i = 0; i < ps.length; i++) {
if (ps[i]) {
var p = ps[i].split(/=/);
params[p[0]] = p[1];
}
}
var divToShow = params.from;
$('#'+divToShow).show();
});
<小时/>

JSFiddle - http://jsfiddle.net/b48zL/

链接查看其工作原理 - http://jsfiddle.net/b48zL/show/?from=hidden

<小时/>

问题

它似乎在 fiddle 上正常运行,但在我的服务器上,它使用或不使用查询来渲染 div,并使用 div 中打印的脚本中的文本。

即,看起来好像我编码:

<div>$(function() { ... ...$('#'+divToShow).show();});</div>

为什么?

最佳答案

您的 JS 代码不会解码 URL 参数值。 Following code正确解码 URL 参数

// based on https://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript
var urlParams = {};
(function () {
var e,
a = /\+/g, // Regex for replacing addition symbol with a space
r = /([^&=]+)=?([^&]*)/g,
d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
q = window.location.search.substring(1);

while (e = r.exec(q))
urlParams[d(e[1])] = d(e[2]);
})();

if(urlParams.from) $("#hidden").show();

Fixed JSFiddle

关于javascript - 仅当用户使用 URL 查询时显示 DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24666034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com