点击链接模拟右键另存为

Posted 普通网友

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了点击链接模拟右键另存为相关的知识,希望对你有一定的参考价值。

总结:折腾了好长的时间,一直是想用JS来实现,在网上找了半天,以下是JS实现的代码

<!DOCTYPE html>
<html>
<head>
<title>音乐下载</title>

<script>
	function SaveAs5(imgURL) 
		var oPop = window.open(imgURL, "", "width=1, height=1, top=5000, left=5000");
		for (; oPop.document.readyState != "complete";) 
			if (oPop.document.readyState == "complete") break;
		
		oPop.document.execCommand("SaveAs"); oPop.close();
	
</script>
</head>

<body>

	<a
		href="http://120.221.66.136/m10.music.126.net/20170703214547/076d48354cd4011a9e68ce708ac87b52/ymusic/bdbb/c8c1/20d2/6abc719b82c70fb1b9283d8e9ac6cf24.mp3?wshc_tag=0&wsts_tag=595a44af&wsid_tag=dac96507&wsiphost=ipdbm"
		οnclick="SaveAs5(this.href)">下载</a>
</body>
</html>


但是,这种JS实现的代码只能再IE浏览器里使用,对浏览器的兼容性并不是很好,于是又继续找啊找,最后,一篇文章点醒了我。

现在的HTML5里有一个download属性,可以直接进行另存为,还可以自己重新命名文件。。。

<!DOCTYPE html>
<html>
<head>
<title>音乐下载</title>
</head>

<body>

	<a
		href="http://120.221.66.136/m10.music.126.net/20170703214547/076d48354cd4011a9e68ce708ac87b52/ymusic/bdbb/c8c1/20d2/6abc719b82c70fb1b9283d8e9ac6cf24.mp3?wshc_tag=0&wsts_tag=595a44af&wsid_tag=dac96507&wsiphost=ipdbm"
		download="blue.mp3">下载</a>
</body>
</html>


以上是关于点击链接模拟右键另存为的主要内容,如果未能解决你的问题,请参考以下文章

Chrome谷歌浏览器不能右键另存为下载东西了

selenium webdriver 右键另存为下载文件(结合robot and autoIt)

请问用批处理命令如何将ANSI编码的txt文件批量转换utf8编码的?就右键另存为那种,但是量太大。

怎么把网页上的图片直接存到百度云网盘里面?

如何让歌词与歌曲同步显示

有啥方法可以“模拟”右键单击另存为命令或使用 JavaScript 在浏览器中强制下载文件?