window.open(encodeURI('data:text/csv;charset=utf-8,name,color\njohn,#000000'));
在 chrome 中,上一行下载了一个包含以下内容的 csv
:
name,color
john,
它似乎忽略了#
符号之后的所有内容。
你知道为什么吗?
ps:在 Safari 上它似乎运行良好,它会打开一个包含所有内容的新闻标签
最佳答案
因为 #
表示文档中某个位置的开始。
您必须将其转义为 %23
:
'data:text/csv;charset=utf-8,' + encodeURIComponent("name,color\njohn,#000000")
data:text/csv;charset=utf-8,name%2Ccolor%0Ajohn%2C%23000000
结果应该会更好。
关于javascript - 在 Google Chrome 中,window.open 在带有 # 符号的 csv 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54825108/