javascript 文本文件下载无法在 iPhone 上运行
javascript text file download not working on iPhone
我正在尝试下载一个文件,其中包含通过其他方式在页面上捕获的信息。在此示例中,这些方法已替换为
var listContacts = 'Here is some text to download in a txt';
使代码更简单。它目前适用于 windows 笔记本电脑和 android phone.
这需要从本地存储在 phone 上的 HTML 文件脱机工作,无法访问服务器,因为这就是它的使用方式。
我们测试的 iPhone 是 运行 iOS 15,因此主导搜索结果的 iOS <13 下载错误不应该适用。 Javascript 在 Safari 中启用。它在 Chrome 中也不起作用(它在笔记本电脑和 Android 中起作用)。
我怎样才能让它在 iPhone 上运行?
function download(text) {
var pom = document.createElement('a');
pom.setAttribute('href', 'data:text/plain;charset=utf-8,' +
encodeURIComponent(text));
pom.setAttribute('download', 'Contacts.txt');
pom.style.display = 'none';
document.body.appendChild(pom);
pom.click();
document.body.removeChild(pom);
}
var listContacts = 'Here is some text to download in a txt';
<button onclick="download(listContacts)">Download</button>
也许试试这个(抱歉,在 Chrome iOS 中也不起作用,但在我的 Safari 中可以):
https://jsfiddle.net/mplungjan/xu9ra6dL/
测试link:Click
(function() {
var textFile = null,
makeTextFile = function(text) {
var data = new Blob([text], {
type: 'text/plain'
});
// If we are replacing a previously generated file we need to
// manually revoke the object URL to avoid memory leaks.
if (textFile !== null) {
window.URL.revokeObjectURL(textFile);
}
textFile = window.URL.createObjectURL(data);
return textFile;
};
document.getElementById('textbox').addEventListener('input', function() {
var link = document.getElementById('downloadlink');
link.href = makeTextFile(textbox.value);
link.style.display = 'block';
}, false);
})();
<textarea id="textbox">Type something here</textarea>
<a download="info.txt" id="downloadlink" style="display: none">Download</a>
在这个问题上花了整整 3 天时间,我现在知道由于沙盒和安全性,Safari 不允许您运行 本地存储html 文件。因此,如果不越狱我老板的昂贵工作 iPhone,我的问题就无法解决,我不打算这样做。
javascript 如果托管在 Internet 上,则工作得很好。它只是在本地不起作用。
我正在尝试下载一个文件,其中包含通过其他方式在页面上捕获的信息。在此示例中,这些方法已替换为
var listContacts = 'Here is some text to download in a txt';
使代码更简单。它目前适用于 windows 笔记本电脑和 android phone.
这需要从本地存储在 phone 上的 HTML 文件脱机工作,无法访问服务器,因为这就是它的使用方式。
我们测试的 iPhone 是 运行 iOS 15,因此主导搜索结果的 iOS <13 下载错误不应该适用。 Javascript 在 Safari 中启用。它在 Chrome 中也不起作用(它在笔记本电脑和 Android 中起作用)。
我怎样才能让它在 iPhone 上运行?
function download(text) {
var pom = document.createElement('a');
pom.setAttribute('href', 'data:text/plain;charset=utf-8,' +
encodeURIComponent(text));
pom.setAttribute('download', 'Contacts.txt');
pom.style.display = 'none';
document.body.appendChild(pom);
pom.click();
document.body.removeChild(pom);
}
var listContacts = 'Here is some text to download in a txt';
<button onclick="download(listContacts)">Download</button>
也许试试这个(抱歉,在 Chrome iOS 中也不起作用,但在我的 Safari 中可以):
https://jsfiddle.net/mplungjan/xu9ra6dL/
测试link:Click
(function() {
var textFile = null,
makeTextFile = function(text) {
var data = new Blob([text], {
type: 'text/plain'
});
// If we are replacing a previously generated file we need to
// manually revoke the object URL to avoid memory leaks.
if (textFile !== null) {
window.URL.revokeObjectURL(textFile);
}
textFile = window.URL.createObjectURL(data);
return textFile;
};
document.getElementById('textbox').addEventListener('input', function() {
var link = document.getElementById('downloadlink');
link.href = makeTextFile(textbox.value);
link.style.display = 'block';
}, false);
})();
<textarea id="textbox">Type something here</textarea>
<a download="info.txt" id="downloadlink" style="display: none">Download</a>
在这个问题上花了整整 3 天时间,我现在知道由于沙盒和安全性,Safari 不允许您运行 本地存储html 文件。因此,如果不越狱我老板的昂贵工作 iPhone,我的问题就无法解决,我不打算这样做。
javascript 如果托管在 Internet 上,则工作得很好。它只是在本地不起作用。