gpt4 book ai didi

http - 是否可以判断 HTTP 请求是否源自 "save link as"操作?

转载 作者:可可西里 更新时间:2023-11-01 15:29:31 26 4
gpt4 key购买 nike

服务器是否有任何方法可以通过右键单击并从 chrome 的上下文菜单(或其等效项)中选择 “将链接另存为...” 来确定特定的 HTTP 请求是否已启动在其他浏览器中)。

例如,某些 header 在一种情况下发送但在其他情况下不发送。

我最初的预感是答案是否定的,但试验这种行为会很有趣。


为什么会有人想知道这个?

作为一个简化的示例,假设我们有一个包含文件列表的 View ,其中每个文件都链接到另一个 View ,该 View 基本上漂亮地打印文件内容以及一些元数据并提供下载它们的能力。

有时用户只想保存其中的几个,必须在项目 View 和列表之间来回切换。

如果她现在尝试使用上下文菜单,她当然会获得单文件 View 的 HTML 源代码,而这通常不是所需的行为(至少在我们的例子中是这样) ).

我有一个明显的选择,即为列表中的每个项目添加“下载”控件,甚至是自定义上下文菜单,但如果我能在服务器上检测到这种情况,我就可以交付文件本身而不是渲染页面,用户可以右键单击 > save-link-as 并获取文件内容,并且 ListView 不必因附加控件而变得杂乱无章。


我希望 GitHub(直接从文件列表保存文件)或 Moodle(类(class)管理平台)上存在这种类型的功能,所以我希望在我可以控制的地方避免一些挫败感。

最佳答案

发送到服务器的请求没有真正的区别,除了可能添加了一些 header (Firefox):

Pragma: no-cache
Cache-Control: no-cache

但你不能依赖它。

您可以执行以下操作:

假设你有这样一个文件:

http://www.yoursite.com/test.csv

此网址应始终返回原始文件。例如,该 url 可以在电子邮件中,也可以在某个论坛上。

要在用户单击您网站上的链接时显示页面,您可以捕获 OnClick 事件(并可能做一些额外的检查),并使用 JavaScript 向 url 添加一个参数:

http://www.yoursite.com/test.csv?display=html

然后您的服务器可以返回您想要的 html 页面(如果浏览器中的 JavaScript 被关闭,不会造成任何伤害,文件将按原样返回)。

I wish this type of functionality existed on GitHub (saving files right from the file list) or Moodle (a course management platform), so I am hoping to to save some frustration where I have control.

这确实很烦人。很高兴看到有人关注这些细节。

关于http - 是否可以判断 HTTP 请求是否源自 "save link as"操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34467859/

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