HTML5 页面跳转传值的实现

1. 流程概览

下面是实现 HTML5 页面跳转传值的流程概览,可以通过以下步骤来完成:

  1. 在源页面中准备传递的数据。
  2. 使用 JavaScript 将数据添加到 URL 参数中。
  3. 跳转到目标页面。
  4. 在目标页面中获取 URL 参数。
  5. 对获取的参数进行处理和展示。

下面是一个简单的示意图,展示了整个流程的流程图:

sequenceDiagram
    participant SourcePage as 源页面
    participant TargetPage as 目标页面
    SourcePage->>TargetPage: 跳转并传递数据
    TargetPage->>TargetPage: 获取传递的数据并处理

接下来,我们将详细介绍每一步需要做的事情,并给出相应的代码示例和解释。

2. 源页面准备传递的数据

在源页面中,我们需要准备要传递的数据,并将其添加到 URL 参数中。可以通过以下代码实现:

<html>
<head>
    <script>
        function redirectToTarget() {
            // 获取要传递的数据
            var data = "Hello, World!";

            // 将数据添加到 URL 参数中
            var url = "target.html?data=" + encodeURIComponent(data);

            // 跳转到目标页面
            window.location.href = url;
        }
    </script>
</head>
<body>
    <button onclick="redirectToTarget()">跳转并传递数据</button>
</body>
</html>

在上述代码中,我们定义了一个名为 redirectToTarget 的 JavaScript 函数,该函数会在点击按钮时被调用。在函数内部,我们首先获取要传递的数据,这里简单地设置为字符串 "Hello, World!"。然后,我们使用 encodeURIComponent 函数对数据进行编码,以确保在 URL 中的特殊字符被正确处理。接下来,我们将数据添加到 URL 参数中,并使用 window.location.href 将页面跳转到目标页面。

3. 目标页面获取 URL 参数并处理

在目标页面中,我们需要获取 URL 参数,并对参数进行处理和展示。可以通过以下代码实现:

<html>
<head>
    <script>
        function getDataFromURL() {
            // 获取当前页面的 URL
            var url = window.location.href;

            // 解析 URL 参数
            var params = new URLSearchParams(url.search);

            // 获取传递的数据
            var data = params.get("data");

            // 处理和展示数据
            if (data) {
                document.getElementById("data").innerText = data;
            }
        }
    </script>
</head>
<body onload="getDataFromURL()">
    
</body>
</html>

在上述代码中,我们定义了一个名为 getDataFromURL 的 JavaScript 函数,并在页面加载时调用该函数。在函数内部,我们首先获取当前页面的 URL,然后使用 URLSearchParams 对象解析 URL 参数。接下来,我们使用 get 方法获取传递的数据,并将其处理和展示到页面上。

4. 代码解释

下面是对代码中使用的每一条代码的解释:

源页面:

var data = "Hello, World!";

定义要传递的数据,这里简单地设置为字符串 "Hello, World!"

var url = "target.html?data=" + encodeURIComponent(data);

将数据添加到 URL 参数中,并使用 encodeURIComponent 函数对数据进行编码,以确保在 URL 中的特殊字符被正确处理。

window.location.href = url;

使用 window.location.href 将页面跳转到目标页面。

目标页面:

var url = window.location.href;

获取当前页面的 URL。

var params = new URLSearchParams(url.search);

创建一个 URLSearchParams 对象,并使用 search 属性获取 URL 参数。

var data = params.get("data");

使用 get 方法获取传递的数据。

document.getElementById("data").innerText = data;

将获取的数据处理并展示到页面上,这里简单地将数据赋值给一个具有 id "data" 的元素的内容。

5. 总结

通过上述步骤,我们可以实现 HTML5 页面跳转传值