javascript-打开隐藏的iframe以便在文档就绪时下载文件

javascript-打开隐藏的iframe以便在文档就绪时下载文件,javascript,jquery,iframe,popup,document-ready,Javascript,Jquery,Iframe,Popup,Document Ready,我正试图用这个技巧在DocumentReady上打开一个文件下载对话框。同样的技巧在另一次对我有效,但那一次iframe是在ajax调用之后添加的。以下是代码片段: <script type="text/javascript"> $(document).ready(function() { var url='/my_file_url/'; var _iframe_dl = $('<iframe />')

我正试图用这个技巧在DocumentReady上打开一个文件下载对话框。同样的技巧在另一次对我有效,但那一次iframe是在ajax调用之后添加的。以下是代码片段:

<script type="text/javascript">
  $(document).ready(function() {
     var url='/my_file_url/';
     var _iframe_dl = $('<iframe />')
                       .attr('src', url)
                       .hide()
                       .appendTo('body');
  });
</script>

$(文档).ready(函数(){
var url='/my_file_url/';
变量_iframe_dl=$('')
.attr('src',url)
.hide()
.附于(“主体”);
});
虽然iframe以html代码正确打印,但它没有预期的行为:加载页面后不会出现下载文件弹出窗口。关于原因的任何帮助?

,假设MIME属于将开始下载的类型,例如应用程序/八位字节流。您可能会遇到这样的问题:浏览器正在呈现它,但由于内置pdf阅读器而无法提供下载

$(document).ready(function(){
var url='data:application/octet-stream,hello%20world';
var _iframe_dl = $('<iframe />')
       .attr('src', url)
       .hide()
       .appendTo('body');
});
,假设MIME属于将开始下载的类型,例如应用程序/八位字节流。您可能会遇到这样的问题:浏览器正在呈现它,但由于内置pdf阅读器而无法提供下载

$(document).ready(function(){
var url='data:application/octet-stream,hello%20world';
var _iframe_dl = $('<iframe />')
       .attr('src', url)
       .hide()
       .appendTo('body');
});

您确定语法正确吗?没有结尾});文件url的标题是否正确?(如果您用浏览器打开它,是否有下载弹出窗口?您没有关闭
$(文档)。准备就绪(函数(){
在您用
}关闭函数和调用时工作);
您确定语法正确吗?没有关闭});文件url的标题是否正确?(如果您用浏览器打开它,是否有下载弹出窗口?您没有关闭
$(文档)。准备就绪(函数(){
在您用
>关闭函数和调用时工作)
thnks paul,但我仍然不明白我的错误在哪里:那把小提琴没有添加jquery,也没有在正确的时间包含JavaScript(参见左侧的设置)。此外,问题似乎来自
.pdf
文件extModernest浏览器(例如Chrome)可以做的事
a.click()
代替了
ev
元素。@Redsandro
元素。click
从2003年或更早的时候就开始了,它没有什么现代意义;在这段代码中发送事件的目的是尽可能地模拟鼠标点击,就好像它真的发生了一样。@Paul S:我在哪里说过
元素。click
已经在t中了他最近才做过规范?你只能做
元素。在
DOM
中的
元素上点击
。你的例子在
DOM
中没有
a
,所以你需要一个像Chrome这样的现代浏览器来做
元素。点击它,因为在过去的10年里它不会那样工作。thnks paul,但我仍然我不明白我的错误在哪里:fiddle没有添加jquery,也没有在正确的时间包含JavaScript(请参见左侧的设置)。此外,问题似乎来自
.pdf
文件,其他浏览器(如Chrome)可以做
a。单击()
代替了
ev
元素。@Redsandro
元素。click
从2003年或更早的时候就开始了,它没有什么现代意义;在这段代码中发送事件的目的是尽可能地模拟鼠标点击,就好像它真的发生了一样。@Paul S:我在哪里说过
元素。click
已经在t中了他最近才做过规范?你只能做
元素。在
DOM
中的
元素上点击
。你的例子在
DOM
中没有
a
,所以你需要像Chrome这样的现代浏览器来做
元素。点击
,因为在过去的10年里它不会这样工作。