gpt4 book ai didi

html - 与用户输入完整共享当前html响应(原样)

转载 作者:行者123 更新时间:2023-12-01 22:16:28 28 4
gpt4 key购买 nike

我正在尝试实现类似于Go Playground的 share 按钮的功能。
单击名为share的按钮时,当前的HTML响应将保存到文件中。这还包括用户可以看到的所有内容。

到目前为止我可以做什么
-我可以成功将HTML页面保存到文件中。
-我可以使用HTTP Get从URL获取并保存整个页面。

注意事项
-我无法保存正在处理的当前网页。

到目前为止,这是我获取远程URL的代码:

func HTTPGet(url string, timeout time.Duration) (content []byte, err error) {
request, err := http.NewRequest("POST", url, nil)
if err != nil {
return
}

ctx, cancel_func := context.WithTimeout(context.Background(), timeout)
request = request.WithContext(ctx)

response, err := http.DefaultClient.Do(request)
if err != nil {
return
}
defer response.Body.Close()

if response.StatusCode != 200 {
cancel_func()
return nil, fmt.Errorf("INVALID RESPONSE; status: %s", response.Status)
}

return ioutil.ReadAll(response.Body)
}


希望这不会涉及手动操作DOM。

最佳答案

在客户的一些合作下,有几种方法可以做到。

如果要保存当前显示在客户端上的当前网页(具有当前表单值等),则必须在客户端使用Javascript进行操作。您可以获取文档,以某种形式对其进行序列化,然后将其发送到服务器以进行保存。

另一种方法是在服务器端再次生成HTML页面,但是该页面将不包含用户输入的数据或在客户端动态生成的任何HTML。

另一种方法是在客户端使用Javascript收集页面状态,包括表单值和代表任何动态生成的内容的数据,将其发送到服务器以保存,并根据需要重建页面。

关于html - 与用户输入完整共享当前html响应(原样),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59697238/

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