核心方法:<a> 标签(推荐)

这是最标准、最常用,也是语义上最正确的方法。<a> 标签本身就是为超链接设计的,它不仅能实现页面跳转,对搜索引擎优化(SEO)和无障碍访问(A11y)也最友好。

html5点击按钮跳转网页代码大全
(图片来源网络,侵删)

基础跳转

使用 href 属性指定目标网址。

代码示例:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">基础跳转示例</title>
</head>
<body>
    <h2>点击按钮跳转到外部网站</h2>
    <!-- 
      href="https://www.example.com" 是要跳转的目标地址
      target="_blank" 表示在新标签页中打开
    -->
    <a href="https://www.example.com" target="_blank">
        <button>访问 Example.com</button>
    </a>
    <h2>点击按钮跳转到内部页面</h2>
    <!-- 
      href="page2.html" 是同目录下的另一个 HTML 文件
      target="_self" (默认值) 在当前标签页打开
    -->
    <a href="page2.html">
        <button>前往第二页</button>
    </a>
</body>
</html>

代码解释:

  • <a>:定义一个超链接。
  • hrefHyperreference 的缩写,指定链接的目标 URL。
  • <button>:一个可点击的按钮,我们将它放在 <a> 标签内部,这样点击按钮的任何区域都会触发 <a> 标签的跳转行为。
  • target="_blank":这是一个重要的属性,它告诉浏览器在新的浏览器标签页或窗口中打开链接,如果不写,默认在当前标签页打开 (_self)。

<button> 标签 + JavaScript

这种方法提供了更大的灵活性,你可以在跳转前执行一些逻辑,比如进行条件判断、数据验证或发送请求。

html5点击按钮跳转网页代码大全
(图片来源网络,侵删)

使用 window.location 对象

这是最直接的 JavaScript 跳转方式,功能强大。

代码示例:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">JavaScript 跳转示例</title>
</head>
<body>
    <h2>使用 JavaScript 跳转</h2>
    <!-- 
      onclick 是一个事件处理器,当按钮被点击时,执行等号后面的 JavaScript 代码。
      window.location.href = "..." 是最常用的跳转方式。
    -->
    <button onclick="window.location.href = 'https://www.google.com';">
        跳转到 Google
    </button>
    <button onclick="goToPage()">
        调用函数跳转
    </button>
    <script>
        function goToPage() {
            // 可以在跳转前添加逻辑
            alert('即将跳转到 Baidu!');
            // 执行跳转
            window.location.href = 'https://www.baidu.com';
        }
    </script>
</body>
</html>

代码解释:

  • onclick="..."onclick 是一个 HTML 事件属性,当元素被点击时触发,这里我们直接在属性里写了一小段 JavaScript 代码。
  • window.location.hrefwindow.location 对象包含当前页面的 URL 信息,通过修改它的 href 属性,可以导航到一个新的 URL。
  • 优点:灵活性高,可以在跳转前执行任意代码。
  • 缺点:如果禁用了 JavaScript,此功能将失效,如果跳转是核心功能,<a> 标签是更可靠的选择。

使用 window.open() 方法

window.open() 可以更精细地控制新窗口的行为,比如设置窗口的尺寸和位置。

html5点击按钮跳转网页代码大全
(图片来源网络,侵删)

代码示例:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">JavaScript window.open 示例</title>
</head>
<body>
    <h2>使用 window.open 打开新窗口</h2>
    <button onclick="openNewWindow()">
        打开一个 600x400 的新窗口
    </button>
    <script>
        function openNewWindow() {
            // window.open(url, windowName, windowFeatures)
            // windowFeatures 是一个字符串,用于描述新窗口的特性
            const features = 'width=600,height=400,scrollbars=yes,resizable=yes';
            window.open('https://developer.mozilla.org/', 'mdn_doc', features);
        }
    </script>
</body>
</html>

代码解释:

  • window.open(url, windowName, windowFeatures)
    • url:要打开的网页地址。
    • windowName:新窗口的名称,如果多个链接使用同一个名称,它们会在同一个窗口中打开。
    • windowFeatures:一个逗号分隔的字符串,定义新窗口的属性,如 width, height, toolbar (是否显示工具栏), location (是否显示地址栏) 等。

<form> 标签(特殊场景)

虽然 <form> 主要用于提交数据,但它也可以在不提交任何数据的情况下进行页面跳转,这在需要通过 POST 请求传递数据(模拟表单提交)时很有用。

代码示例:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">Form 跳转示例</title>
</head>
<body>
    <h2>使用 Form 进行跳转</h2>
    <!-- 
      method="post" 指定了请求方法为 POST
      action="https://www.example.com/submit" 是要提交到的目标地址
    -->
    <form action="https://www.example.com/submit" method="post">
        <!-- 即使没有输入框,点击提交按钮也会触发 form 的 action -->
        <button type="submit">通过 POST 提交并跳转</button>
    </form>
    <hr>
    <form action="page2.html" method="get">
        <button type="submit">通过 GET 提交并跳转</button>
    </form>
</body>
</html>

代码解释:

  • <form>:定义一个 HTML 表单。
  • action:指定表单提交后,数据应该被发送到的 URL。
  • method:指定发送数据的方法,通常是 GETPOST
    • GET:数据会附加在 URL 后面(如 page2.html?name=value),适合少量、非敏感数据。
    • POST:数据在 HTTP 请求体中发送,更安全,适合大量或敏感数据。
  • <button type="submit">:一个提交按钮,点击它会触发表单的 action

总结与最佳实践

方法 代码示例 适用场景 优点 缺点
<a> <a href="url"><button>跳转</button></a> 绝大多数情况下的首选,简单链接、导航按钮。 语义正确、SEO友好、无障碍支持、禁用JS也能工作。 灵活性较低,无法在跳转前执行复杂逻辑。
JavaScript <button onclick="window.location.href='url'">跳转</button> 需要在跳转前进行验证、确认、或发送AJAX请求等。 灵活性极高,可控制跳转时机和条件。 依赖JavaScript,禁用JS时功能失效。
<form> <form action="url"><button type="submit">跳转</button></form> 需要像提交表单一样通过 GETPOST 请求跳转。 符合表单提交的规范。 不适合单纯的页面导航,语义上不如 <a> 标签清晰。

最佳实践建议:

  1. 优先使用 <a>:如果你的按钮功能仅仅是导航到另一个页面,请始终使用 <a> 标签包裹 <button>,这是最符合 Web 标准的做法。
  2. 何时使用 JavaScript:当你需要“先做点事,再跳转”时,再选择 JavaScript。
    • 用户点击“删除”按钮,先弹出一个确认框 confirm("确定删除吗?"),用户确认后才跳转。
    • 用户点击“登录”按钮,先验证用户名和密码是否为空,验证通过后才跳转到用户主页。
  3. 保持一致性:在一个项目中,尽量统一使用一种跳转方式,除非有特殊需求,这样代码风格会更统一,也更容易维护。

希望这份“代码大全”能帮助你全面了解 HTML5 中按钮跳转的各种方法!