Jest to trochę skomplikowane, ale działa
chrome.browserAction.onClicked.addListener(createFile);
createFile();
function createFile()
{
chrome.tabs.getSelected(null, function(tab) {
window.webkitRequestFileSystem(window.TEMPORARY, 1024*1024, function(fs) {
fs.root.getFile('test', {create: true}, function(fileEntry) {
fileEntry.createWriter(function(fileWriter) {
var builder = new WebKitBlobBuilder();
builder.append("Saurabh");
builder.append("\n");
builder.append("Saxena");
var blob = builder.getBlob('text/plain');
fileWriter.onwriteend = function() {
chrome.tabs.create({"url":fileEntry.toURL(),"selected":true},function(tab){});
};
fileWriter.write(blob);
}, errorHandler);
}, errorHandler);
}, errorHandler);
});
}
function errorHandler(e) {
var msg = '';
switch (e.code) {
case FileError.QUOTA_EXCEEDED_ERR:
msg = 'QUOTA_EXCEEDED_ERR';
break;
case FileError.NOT_FOUND_ERR:
msg = 'NOT_FOUND_ERR';
break;
case FileError.SECURITY_ERR:
msg = 'SECURITY_ERR';
break;
case FileError.INVALID_MODIFICATION_ERR:
msg = 'INVALID_MODIFICATION_ERR';
break;
case FileError.INVALID_STATE_ERR:
msg = 'INVALID_STATE_ERR';
break;
default:
msg = 'Unknown Error';
break;
};
Console.Log('Error: ' + msg);
}
powodu Wyjątki ze względów bezpieczeństwa, nie mogę tworzyć/modyfikować plik na lokalny System. Ale w tym kodzie faktycznie tworzę plik w katalogu, który jest przydzielony dla tymczasowych plików Google Chrome, a następnie pobiera ten plik do mojego folderu z plikami do pobrania.
To jest kod strony popup rozszerzenia do przeglądarki Chrome.
:)
Dowód źle, ale nie sądzę, że jest to możliwe. Możesz ustawić plik cookie na pewno. – madc
Co masz na myśli mówiąc "nie działa"? Czy widzisz błędy? Czy napisałeś ten kod od zera, czy skopiuj go z jakiegoś tutoriala lub strony referencyjnej i jaki jest adres URL? Potrzebujemy więcej informacji. –
[ChecK This Fiddle] (http://jsfiddle.net/pimvdb/4FJaa/3/) Działa to tylko dla plików .bin. –