Javascript:点击链接下载pdf

时间:2014-02-17 11:18:12

标签: javascript html

我正在开发一个JS程序,该程序应该打开一个网页www.mysite.com&点击该网页内的链接下载pdf。 点击链接如下所示:

<a onclick="download();return false;" href="#noWhere">Click to Download</a>

通常,手动点击链接,调用以下函数下载pdf:

function download() {
    document.forms[0].action = path + "/xxW04_sv_0140Action.do";
    document.forms[0].target = "_self";
    document.forms[0].submit();
}

我的代码是简化的javascript代码,用于打开页面&amp;点击“点击下载”按钮是这样的:

<script>

var linkname = "http://www.mysite.com";

var windowname = "window_1"

// Opens a new window
var myWindow = window.open(linkname, windowname ,"width=400,height=600");    

//should open a link to download pdf
myWindow.document.getElementById('href = \"#noWhere\"').click();

</script>

到目前为止,我可以在一个单独的窗口中打开网页“mysite.com”但由于某种原因没有按钮点击发生,当然也没有下载pdf。 当然,如果我手动点击“点击下载”按钮,它就会下载。

谁能告诉我我做错了什么?为什么我无法用上面的js代码模拟点击?

或者可能给我一些尝试的东西。任何帮助都非常感谢,而不是你。

更新 从下面的初步答案来看,可能这种方法注定要失败!任何人都可以建议我更好地下载这些pdf文件吗?

2 个答案:

答案 0 :(得分:2)

你最好使用:

<a href="http://www.mysite.com/mypdf.pdf">

这应该下载该pdf文件。

答案 1 :(得分:0)

它不会起作用。 same-origin policy将阻止您访问从其他域加载的任何网页的内容。

此外,正如@kamilkp指出的那样,您必须为getElementById()函数提供一个id值。你不能在那里插入任何旧东西并期望它能够正常工作。

另一个问题是你依靠点击来实现这一目标。那些使用tab键选择链接然后按 Enter 来关注链接的用户呢?