歌者文明清理员 发表于 2023-6-30 19:25:48

html js

如何通过html内的js访问某个网站,就是访问某个页面自动下载文件的效果

陈尚涵 发表于 2023-6-30 19:56:48

首先,你这个需求无法在js上实现,因为js只为同一个url服务,只能ajax同一个url,不能跨url访问,但是你可以使用python爬虫,这是可能实现的,同一个编程语言总不可能是万能的
其次,你说的是下载一个网站的所有文件?还是其中一个文件?如果是所有文件,那基本不可能,因为你不知道所有路由;如果是一个文件,那么每个文件和其他文件都是有联系的,构不成一个网站。
再次,btw,没有"html内的js"这么一说,我能理解你的意思,是html里打个script标签,但是这就是js,js和html是两种语言,且正常程序员都会把两个文件分开放。

陈尚涵 发表于 2023-6-30 19:58:52

↑望最佳{:10_254:}

歌者文明清理员 发表于 2023-6-30 20:01:42

陈尚涵 发表于 2023-6-30 19:56
首先,你这个需求无法在js上实现,因为js只为同一个url服务,只能ajax同一个url,不能跨url访问,但是你可 ...

那某些官网,如www.huorong.cn和jetbrajns,是怎么做到点击谢谢下载的链接就下载文件的

isdkz 发表于 2023-6-30 20:12:11

要在HTML页面中使用JavaScript来自动下载某个文件,你可以使用特定的JavaScript代码。但你需要注意的是,JavaScript并不能直接访问服务器上的文件并下载,因为这可能会引发安全问题。通常,服务器需要配置为允许提供文件下载,然后JavaScript可以在用户的浏览器端启动下载。

以下是一个简单的例子,它创建一个新的 a 元素,然后模拟用户点击来启动下载:

<!DOCTYPE html>
<html>
<body>

<p>点击按钮下载文件:</p>

<button onclick="download()">下载</button>

<script>
function download() {
// 创建新的a元素
var element = document.createElement('a');

// 设置你想要下载的文件的路径
var file = 'https://yourwebsite.com/yourfile.pdf';

// 设置元素属性
element.href = file;
element.download = 'yourfile.pdf';

// 需要将a元素添加到DOM中,才能模拟用户点击
document.body.appendChild(element);

// 模拟用户点击
element.click();

// 在下载后,移除a元素
document.body.removeChild(element);
}
</script>

</body>
</html>


这个示例中的代码会在用户点击按钮时启动下载,文件的URL是预先设置好的。这个URL必须指向一个在服务器上已经设置为可以被下载的文件。

还需要注意,这种方法可能受到浏览器安全设置的限制,尤其是跨域请求的限制,也就是文件必须位于与运行此JS代码的网页相同的域名下。如果你想从其他域下载文件,你可能需要在服务器端进行一些配置,允许这样的跨域请求。

陈尚涵 发表于 2023-6-30 22:00:28

歌者文明清理员 发表于 2023-6-30 20:01
那某些官网,如www.huorong.cn和jetbrajns,是怎么做到点击谢谢下载的链接就下载文件的

我误解你意思了,你的意思就是把文件包装成路由,然后用js实现转换{:10_250:}
页: [1]
查看完整版本: html js