无法访问下载的html文件的全部内容

时间:2016-02-15 13:58:00

标签: javascript html

我的原始任务是将多个科学出版物下载为html文件。目前我的script以chrome格式下载文件,但它会在firefox中使用url。但这不是我的问题。

如果您看到下载的html源代码,您会发现并非所有内容都已下载。只有部分内容显示在下载的html文件中。那是我的问题。为什么我无法在下载的html文件中获取整个html文档内容。我想下载的文件是这个

var links = [
      'http://www.sciencedirect.com/science/article/pii/S2078152015000516'
];

我想可能是因为CORS问题。但是,在实现CORS脚本之后,它仍然在responseText中显示部分下载的内容。

任何帮助将不胜感激。

另外,如果有人可以告诉我为什么在firefox中,脚本不会下载文件并转到我的网址。

1 个答案:

答案 0 :(得分:1)

您无法下载整个页面的原因是因为页面仅加载一半,其余部分在您向下滚动时动态添加。
因此,当您尝试下载页面时,只会收到没有动态部分的初始加载的一半。

因为它是使用javascript完成的,所以这个特定的网站为您提供了一个替代方案,以防您禁用javascript并且不想/无法启用它(例如使用阅读器):
如果您查看页面的来源,可以在正文的最开头找到以下消息框:

<div class="ua_btn" role="region" aria-label="screen reader compatability">
    <a role="button" rel="nofollow" href="http://www.sciencedirect.com/science/article/pii/S2078152015000516?np=y">
        Screen reader users, click here to load entire article
    </a> 
    This page uses JavaScript to progressively load the article content as a user scrolls.
    Screen reader users, click the load entire article button to bypass dynamically loaded article content.
</div>

这里为您提供了一个包含查询部分"np=y"的链接,该链接会覆盖动态加载并立即初始化整个页面:

http://www.sciencedirect.com/science/article/pii/S2078152015000516?np=y

使用此链接下载artice,它将起作用。

<强>火狐:
如评论中所述,由于潜在的安全风险,firefox不支持设计CORS下载。有关它的更多信息,请Here