我正在开发一个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文件吗?
答案 0 :(得分:2)
你最好使用:
<a href="http://www.mysite.com/mypdf.pdf">
这应该下载该pdf文件。
答案 1 :(得分:0)
它不会起作用。 same-origin policy将阻止您访问从其他域加载的任何网页的内容。
此外,正如@kamilkp指出的那样,您必须为getElementById()
函数提供一个id值。你不能在那里插入任何旧东西并期望它能够正常工作。
另一个问题是你依靠点击来实现这一目标。那些使用tab键选择链接然后按 Enter 来关注链接的用户呢?