我搜索谷歌并获得了一个代码片段,用于通过jquery下载文件。语法如下所示
var downloadURL = function(url)
{
var iframe;
iframe = document.getElementById("hiddenDownloader");
if (iframe === null)
{
iframe = document.createElement('iframe');
iframe.id = "hiddenDownloader";
iframe.style.visibility = 'hidden';
document.body.appendChild(iframe);
}
iframe.src = url;
}
但无法理解它是如何运作的。如何调用它以及如何传递url。所以请帮我使用上面的功能告诉我如何传递url作为参数。还请告诉我上面的代码类型不是函数。
var downloadURL = function(url)
它是如何工作的。变量名等于函数名。可以调用函数,但无法调用上面的代码片段。所以请详细讨论。感谢。
答案 0 :(得分:2)
您的示例代码与此相同:
function downloadURL(url)
{
var iframe;
iframe = document.getElementById("hiddenDownloader");
if (iframe === null)
{
iframe = document.createElement('iframe');
iframe.id = "hiddenDownloader";
iframe.style.visibility = 'hidden';
document.body.appendChild(iframe);
}
iframe.src = url;
}
因此你可以这样调用这个函数:
downloadURL('file.txt');
现在,该函数正在做的是在页面中创建一个iframe元素并将地址设置为作为参数传递的url,这将使浏览器显示该文件的下载对话框。
希望这说清楚。
答案 1 :(得分:1)
Javascript是一种有趣的语言,这是一种非常有效的方法来定义一个在我看来不是最优先但可用的函数。
要调用此功能,您只需要这个
downloadURL("http://a-url.com");
在javascript函数中只是另一种类型的对象
这使得将函数传递给其他函数(如回调或内联创建和调用函数)变得非常容易!几个例子!
function aFunc(callback){
callback();
}
aFunc(function(){
alert("Hi");
});
这是一个非常简单的回调示例或下面的内联函数
function aFunc(){
(function(someVar){
alert(someVar);
})("Hi");
}
另一个简单的例子,说明函数不必像你之前看到的那样定义