本文介绍如何使用纯前端 JavaScript 实现:用户在输入框中填写端口号,点击提交后,自动重定向至当前域名 + 指定端口(如 mysite.com:1234),无需后端参与,适用于本地开发、内网服务或端口映射场景。
本文介绍如何使用纯前端 javascript 实现:用户在输入框中填写端口号,点击提交后,自动重定向至当前域名 + 指定端口(如 `mysite.com:1234`),无需后端参与,适用于本地开发、内网服务或端口映射场景。
要实现“输入端口号 → 跳转到 当前域名:端口”的功能,核心在于拦截表单默认提交行为,读取输入值,并拼接完整 URL 后通过 window.location.href 执行跳转。你提供的代码思路正确,但存在几处关键问题需修正:
<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <title>端口跳转工具</title></head><body><form id="myForm"> <input type="number" id="portNumber" placeholder="请输入端口号(如 8080)" min="1" max="65535" required > <input type="submit" value="Go →"></form><script>document.addEventListener('DOMContentLoaded', function() { document.getElementById('myForm').addEventListener('submit', function(event) { event.preventDefault(); const portInput = document.getElementById('portNumber'); const port = portInput.value.trim(); // 基础校验 if (!port || isNaN(port) || port < 1 || port > 65535) { alert('请输入有效的端口号(1–65535)'); return; } // ✅ 动态获取当前协议和主机名(如 https://mysite.com) const baseUrl = window.location.origin; const targetUrl = `${baseUrl}:${port}`; // 可选:控制台输出用于调试 console.log('即将跳转至:', targetUrl); // 执行跳转 window.location.href = targetUrl; });});</script></body></html>
该方案轻量、零依赖、完全客户端执行,适合快速搭建内部调试入口页。只需一个 <form> 和一小段健壮的 JavaScript,即可将用户输入的端口号无缝注入当前域名,生成目标 URL 并跳转。记住关键三点:用反引号写模板字符串、用 location.origin 获取基准地址、始终做输入校验——即可稳定运行于现代主流浏览器中。