我正在使用Ruby on Rails創建一個項目的Web頁面,該項目將運行用戶選擇的腳本,並將使用JavaScript在頁面底部構建元素以顯示結果。每個結果元素由一個包含結果的Bootstrap可摺疊展示區域組成。我在每個演示文稿塊的底部實施了一個下載鏈接,該鏈接僅將所有文本保存爲要下載的.txt文件。我正在使用JavaScript blob來實現此目的,但遇到了問題。我需要有無限數量的鏈接來保存要下載的數據,但每次創建新鏈接時,都會停止下載。我曾嘗試將blob鏈接保存到數組中,並從中返回結果鏈接,但無濟於事。即構建斑點的功能如下:靜態Rails web UI上的多個獨立blob鏈接
var textFile = null,
makeTextFile = function(text){
data = new Blob([text], {type: 'text/plain'});
if(textFile !== null) { window.URL.revokeObjectURL(textFile); }
textFile = window.URL.createObjectURL(data);
return textFile;
};
我可以使用Ruby on Rails的「由send_file」處理的下載,但是這需要該網頁重新加載,這將失去所有的其他結果。是構建結果的要素的代碼如下:
if(document.getElementById("dig").checked == true)
{
$('#dig_wait_img').addClass('hidden');
$('#dig_loading_img').removeClass('hidden');
results = $.ajax({
type:"POST",
url: "/console/discovery/dig",
data: { domain_name : domainInput },
success: function(data) {
resultArr.push(data["value"]);
$('#dig_loading_img').addClass('hidden');
$('#dig_check_img').removeClass('hidden');
$("#results")
.append(
$("<div class=\"panel panel-default\">")
.append(
$("<h4 class=\"panel-title\">")
.append(
$("<a data-toggle=\"collapse\" href=\"#collapse" + count + "\">DIG - " + domainInput + "</a>")
)
)
.append(
$("</h4>")
)
.append(
$("</div>")
)
.append(
$("<div id=\"collapse" + count + "\" class=\"panel-collapse collapse\">")
.append(
$("<pre><div class=\"panel-body\" id=\"body" + count + "\">" + data["value"] + "</div><a id=\"" + count + "\" href=\"" + makeTextFile(data["value"]) + "\" download=\"" + data["file"] + "\">Download</a><div class=\"panel-footer\"></div></pre>")
)
)
.append(
$("</div>")
)
.append(
$("</div>")
)
);
count++;
},
error: function(data)
{
$('#dig_loading_img').addClass('hidden');
$('#dig_x_img').removeClass('hidden');
},
});
}
如果任何人有處理與斑點靜態Web頁面上進行多個下載鏈接的經驗,或者如果你只是在一般任何建議,任何幫助將不勝感激。在此先感謝