Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Safari for Mac忽略HTML5下载文件名_Javascript_Html_Safari - Fatal编程技术网

Javascript Safari for Mac忽略HTML5下载文件名

Javascript Safari for Mac忽略HTML5下载文件名,javascript,html,safari,Javascript,Html,Safari,我有一个地图web应用程序,希望能够将路线数据保存在GPX文件中。为此,我将生成一个包含数据的锚定标记,并使用HTML5下载属性设置文件名。这在Firefox(29.0.1)和Chrome(37.0.2062.94)的OS X(10.9.4)上都能正常工作,但在Safari(7.0.6)中,它忽略了下载属性中的名称,并保存了一个名为“未知”的文件 这是我的HTML文件中的链接: <a href="#" id="map_save">Save to GPX</a> 我所看到

我有一个地图web应用程序,希望能够将路线数据保存在GPX文件中。为此,我将生成一个包含数据的锚定标记,并使用HTML5下载属性设置文件名。这在Firefox(29.0.1)和Chrome(37.0.2062.94)的OS X(10.9.4)上都能正常工作,但在Safari(7.0.6)中,它忽略了下载属性中的名称,并保存了一个名为“未知”的文件

这是我的HTML文件中的链接:

<a href="#" id="map_save">Save to GPX</a>
我所看到的一切都表明Safari应该尊重这个属性,如果它在Chrome中工作的话,这大概不是WebKit的问题。使用Web Inspector查看DOM树表明属性已正确应用:

<a href=​"data:​application/​gpx+xml;​ch…09%3C%2Ftrk%3E%0A%3C%2Fgpx%3E" id=​"map_save" download=​"myfile.gpx">​Save to GPX​</a>​

正如我所说,它确实下载了文件,只是没有给它一个正确的名称。在Safari中,我是否做错了什么,或者需要做些什么才能让它正常工作?

如果其他人也有同样的疑问,我似乎对Safari有误导。据我所知,它从未得到过支持。碰巧找到了解决这个问题的方法吗?我现在也面临同样的问题,不幸的是没有。我只是把它当作Safari不完全支持它的东西,所以我学会了接受恼人的“未知”文件名。事实上,我观察到,如果我在使元素“a”-奇怪的同时将下载属性与href一起设置,效果会很好,-但一旦我通过JS分配了一个新的href,它就会再次崩溃!你的意思是在HTML中硬编码链接吗?如果我在JS中创建一个全新的元素(例如,
node=document.CreateElement('a');node.setAttribute('download','name'),node.href='data:…';parent.appendChild(node);node.click();
)。它仍然忽略我设置的名称。
<a href=​"data:​application/​gpx+xml;​ch…09%3C%2Ftrk%3E%0A%3C%2Fgpx%3E" id=​"map_save" download=​"myfile.gpx">​Save to GPX​</a>​