Có cách nào để buộc hộp thoại lưu dưới dạng cho www.example.com/example.pdf trong ff không? (Tôi không thể thay đổi tiêu đề)Làm thế nào để lực lượng tiết kiệm như hộp thoại trong firefox bên cạnh việc thay đổi tiêu đề?
6
A
Trả lời
2
Cách duy nhất khác tôi có thể nghĩ là sửa đổi cài đặt Firefox. Tôi cho rằng bạn không thể làm điều này.
CHỈNH SỬA:
Tôi đã trộn lẫn một giải pháp phía máy khách dựa trên ý tưởng URI dữ liệu. Nó sử dụng phiên bản sửa đổi của base64 encoder và kỹ thuật cho binary XMLHTTPrequests Tập lệnh tải xuống tệp PDF, sau đó tạo và đặt liên kết URI dữ liệu tự động bằng bộ mã hóa base64.
Sẽ hữu ích khi bạn muốn mã hóa luồng octet nhưng không có quyền truy cập vào máy chủ (như trường hợp OP).
Lưu ý, tôi vừa đăng an example sử dụng hunts.pdf, mà OP đang thử nghiệm.
/**
*
* Base64 encode/decode
* http://www.webtoolkit.info/
*
**/
var Base64 = {
// private property
_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/=",
// public method for encoding
encode : function (input) {
var output = "";
var chr1, chr2, chr2raw, chr3, chr3raw, enc1, enc2, enc3, enc4;
var i = 0;
//input = Base64._utf8_encode(input);
while (i < input.length) {
chr1 = input.charCodeAt(i++) & 0xFF;
chr2 = isNaN(chr2raw = input.charCodeAt(i++)) ? NaN : (chr2raw & 0xFF);
chr3 = isNaN(chr3raw = input.charCodeAt(i++)) ? NaN : (chr3raw & 0xFF);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output = output +
this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
}
return output;
}
}
// http://web.archive.org/web/20071103070418/mgran.blogspot.com/2006/08/downloading-binary-streams-with.html
//fetches BINARY FILES synchronously using XMLHttpRequest
load_url = function(url) {
var req = new XMLHttpRequest();
req.open('GET',url,false);
//XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]
req.overrideMimeType('text/plain; charset=x-user-defined');
req.send(null);
if (req.status != 200){
alert(req.status);
return '';
}
return req.responseText;
}
function getDataURI(filename)
{
var file = load_url(filename);
var uueFile = Base64.encode(file);
var uri = 'data:application/octet-stream;base64,' + encodeURIComponent(uueFile);
return uri;
}
window.addEventListener("load",
function()
{
var link = getDataURI("foo.pdf");
document.getElementById("myDiv").innerHTML += '<a href="' + link + '"><code>' + link + '</code></a><br><br>';
}
không: (có vẻ như điều này có thể xảy ra .... –
@raj: Đó chính xác là tiêu đề của nội dung. Nội dung phản hồi là nội dung, tiêu đề là gợi ý cần làm với nội dung đó (ví dụ: Nội dung . -Disposition) – Piskvor
nhờ cho các giải pháp tôi đã cố gắng sử dụng mã dưới đây là đáy của mã tôi đã sử dụng:. window.addEventListener ("tải", function() { var link = getDataURI ("http : //www.google.com/ads/hunts.pdf "); document.getElementById (" myDiv ").innerHTML + = '
' + link + '
'; }