Javascript 使用window.location.href后没有输出到iframe

Javascript 使用window.location.href后没有输出到iframe,javascript,php,html,Javascript,Php,Html,我在php函数中使用window.location.href,该函数强制文件下载,而无需打开其他窗口。文件下载工作正常,其余的php脚本执行。但是,我在函数中带有javascript的行之后输出的任何内容都不会显示在iframe中。有没有办法将输出重定向回原始php脚本 以下是php文件中的javascript行: echo "<script>window.location.href='download.php';</script>"; 提前感谢, 杰伊 编辑 我用以下

我在php函数中使用window.location.href,该函数强制文件下载,而无需打开其他窗口。文件下载工作正常,其余的php脚本执行。但是,我在函数中带有javascript的行之后输出的任何内容都不会显示在iframe中。有没有办法将输出重定向回原始php脚本

以下是php文件中的javascript行:

echo "<script>window.location.href='download.php';</script>";
提前感谢,

杰伊

编辑

我用以下代码替换了javascript代码行,它工作得非常好:

echo "<iframe id='my_iframe' style='display:none;' src='download.php'></iframe>";
echo”“;

您不需要将重定向放在iframe页面中

我能想到的最好的atm方式就是使用一个不可见的框架,就像安德鲁·邓恩在回答这个问题时提到的那样

引述该答案:

<iframe id="my_iframe" style="display:none;"></iframe>
<script>
function Download(url) {
document.getElementById('my_iframe').src = url;
};
</script>

功能下载(url){
document.getElementById('my_iframe')。src=url;
};
把它放在你的主页上。url基本上就是下载url(在您的例子中是download.php)。您可以使用按钮制作下载手册。如果你想强迫的话。将src=url添加到iframe并删除脚本


我建议您研究和使用jQuery。

如果您重定向了页面,那么它将显示新页面显示的内容,而不是旧页面。把你的回音放在下载文件php脚本中,它应该会显示出来。谢谢你的回复。这是有道理的。有没有办法重定向回已经运行的php文件?不实用。这样,您就不会实际使用iframe进行下载。更像一页。检查答案以获得更好的方法:)太棒了,我将javascript行替换为:
echo”“和脚本现在下载文件并按预期输出。谢谢你的帮助。
echo "<iframe id='my_iframe' style='display:none;' src='download.php'></iframe>";
<iframe id="my_iframe" style="display:none;"></iframe>
<script>
function Download(url) {
document.getElementById('my_iframe').src = url;
};
</script>