【发布时间】:2023-03-25 03:41:01
【问题描述】:
我对编程还很陌生,只是弄脏了自己的双手。我试图根据 URL 的长度向用户显示一些东西。以下是代码
<!DOCTYPE HTML>
<html>
<head>
<title>Random</title>
<meta charset="utf-8" />
</head>
<body id="main" style="display:none">
<h1>
Paste something
</h1>
<form action="abcd.php" method="post">
<input type="text" name="URL" placeholder="random url" id="something" required>
<input type="submit" value="do something">
</form>
</body>
<script>
if (window.location.href.length - 1 > 35) {
alert("redirect");
} else {
alert("show");
}
</script>
</html>
在我的例子中,URL 的最小长度是 35 个字符。但是,当我第一次添加这么长的 URL 时,会显示“重定向”警报,而不是显示“显示”警报。第二次运行良好。在我删除缓存之后,整个故事又重复了一遍。
PS:我自己添加的查询字符串变量。例如,当我点击 domain.com 时,它自己在地址栏中写入了domain.com/?i=1(仅当我在删除缓存后第一次点击 URL 时)。
我怎样才能让它在第一次运行?任何帮助表示赞赏。
【问题讨论】:
-
为什么定义body teg不可见??
-
因为我只想在 url 的长度小于 35 时才显示给用户。
-
你为什么不解析查询呢?根据查询长度做任何事情是一种不好的方法,因为它可能会在未来不改变逻辑的情况下发生变化。例如,使用一些参数和哈希打开当前页面,如下所示:stackoverflow.com/questions/52268763/… 并打开控制台并输入
document.location。您将得到一个可以轻松解析的对象。 -
好的。我会这样做,但为什么它自己添加“?i = 1”?有什么想法吗?
-
此外,在我的情况下,最小长度保持不变直到永恒。所以我认为这在未来并不重要。你说什么?
标签: javascript php runtime-error query-string