Blob 构造函数 Safari 问题
Blob constructor Safari issue
我正在使用JQuery blob将JQuery数组导出为CSV。它适用于所有浏览器,除了 Safari 5.1.7。Windows 7 上的 Safari 浏览器。我知道 Blob 与 Safari 存在兼容性问题。如果有任何解决方法可以实现它,请告诉我。
下面是代码:
var usersCSVData = [];
usersCSVData.push('LastName ','FirstName ', 'Login ','City ','State','Location ');
var fileName = "UserCSVdata.csv";
var buffer = usersCSVData.join("'n");
var blob = new Blob([buffer], {
"type": "text/csv;charset=utf8;"
});
if (navigator.msSaveBlob) { // IE 10+
navigator.msSaveBlob(blob, fileName);
}
else {
var link = document.createElement("a");
if (link.download !== undefined) {
var url = URL.createObjectURL(blob);
link.setAttribute("href", url);
link.setAttribute("download", fileName);
link.style = "visibility:hidden";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
}
我收到错误:
"'[object BlobConstructor]' is not a constructor (evaluating 'new Blob([buffer], {
"type": "text/csv;charset=utf8;"
})')"
先尝试使用 BlobBuilder
或WebKitBlobBuilder
。同样,使用 blob 构造函数/构建器可以解决 4.4-Android Stock Browser
中的一些问题:
//cross browser BlobBuilder constructor
var customBlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MSBlobBuilder || window.MozBlobBuilder;
//result
var blob;
//Data
var buffer = ['LastName ','FirstName ', 'Login ','City ','State','Location '].join("'n");
//Try to use WebKitBlobBuilder first, It also solves some issues for Android Stock Browser
if (window.WebKitBlobBuilder) {
blob = new WebKitBlobBuilder();
blob.append(buffer);
blob = blob.getBlob("text/csv");
} else if (window.Blob) {
blob = new Blob([buffer], { type : "text/csv" });
} else {
blob = new customBlobBuilder();
blob.append(buffer);
blob = blob.getBlob("text/csv");
}
console.log(blob);
相关文章:
- Safari(Mac OS)上的jQuery平滑滚动问题
- 主干网.与Safari同步问题
- iOS Safari Javascript设置超时问题
- Safari手机文本输入问题
- 跨浏览器问题:如何调试我的网站'在windows PC的safari上的行为
- jQuery可拖动克隆-safari问题
- Safari 的自动边距 + 平移 3d 1px 出血问题
- Safari浏览器返回按钮问题
- Safari存在文本输入问题,用户输入时会选择文本,导致文本丢失
- 移动safari浏览器的滚动问题
- jQuery-图像替换转换〔Safari中的问题〕
- Ipad的safari浏览器中window.showModalDialog()的兼容性问题
- Safari 和 IE 中的 JavaScript 日期对象问题
- OS X 10.10 Safari 8 jquery UI 标签问题
- Safari 和 Firefox 中的 javascript Date() 问题
- 自定义模式脚本 - Safari 和 IE 问题
- 与其他浏览器相比,如何在 safari 或 mac 中解决字体粗细、文本过于粗体的问题
- jQuery问题(Safari/Chrome)与平滑滚动
- 网站渲染问题:Safari 4显示内容闪烁,然后是白屏
- jScrollPane闪烁问题safari