Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过Jquery下载文件_Javascript_Jquery - Fatal编程技术网

Javascript 通过Jquery下载文件

Javascript 通过Jquery下载文件,javascript,jquery,Javascript,Jquery,我在谷歌上搜索了一下,得到了一个jquery下载文件的代码片段。语法如下所示 var downloadURL = function(url) { var iframe; iframe = document.getElementById("hiddenDownloader"); if (iframe === null) { iframe = document.createElement('iframe'); iframe.id =

我在谷歌上搜索了一下,得到了一个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)

它是如何工作的。变量名等于函数名。可以调用函数,但无法调用上述代码段。所以请详细讨论。谢谢。

Javascript是一种有趣的语言,这是定义函数的一种非常有效的方法,在我看来,函数不是最受欢迎的,而是可用的

要调用这个函数,您需要做的就是

downloadURL("http://a-url.com"); 
在javascript中,函数只是另一种类型的对象

这使得将函数作为回调传递给其他函数或创建并内联调用函数变得非常容易!举几个例子

function aFunc(callback){
 callback();
}

aFunc(function(){
  alert("Hi");
});
这是回调函数的一个非常简单的例子,下面是内联函数

function aFunc(){
  (function(someVar){
    alert(someVar);
  })("Hi");
}

这只是另一个简单的例子,说明不必像您以前看到的那样定义函数,您的示例代码相当于这样做:

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,这将使浏览器显示该文件的下载对话框


希望这能说明问题。

上面这不是一个函数
-事实上是:代码被包装在顶部的
函数(url)
中。只需调用函数
downloadURL('your-url-here')
。这就是基本的JavaScript。我建议阅读一篇教程:据我所知,它不是下载任何东西,而是将页面内容存储在URL中。这是一个函数。您可以调用downloadURL(');函数甚至在严格意义上也是对象;)这个答案完全符合我的需要。不过有两个小贴士:1)我会更改或添加
iframe.style.display='none'到iframe。设置可见性会将其隐藏,但仍会占用页面空间,就好像它在页面上一样。2) 不要浪费大量时间在iPhone应用程序(我的例子是phonegap)上测试,因为iPhone不喜欢下载文件。。。这周我已经浪费了很多美好的时光。。。