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

标签 javascript html

我最初的任务是将多个科学出版物下载为 html 文件。目前我的script在 chrome 中下载文件,但在 firefox 中下载文件。但这不是我的问题。

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

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

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

如有任何帮助,我们将不胜感激。

另外,如果有人可以告诉我为什么在 Firefox 中,脚本不会下载文件而是将我带到 URL。

最佳答案

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

由于它是使用 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

使用此链接下载文章即可。

火狐浏览器:
正如评论中提到的,由于潜在的安全风险,Firefox 在设计上不支持 CORS 下载。更多关于它可以找到Here

关于javascript - 无法访问下载的 html 文件的全部内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35411294/

相关文章:

javascript - 当 jQuery Ajax 调用完成时控制请求

javascript - 为什么我的 Sprite 从底部被裁剪?

javascript - header 部分超过 10240 字节(可能未正确终止)

html - 在 HTML 中个性化 "Radio"按钮

php - 更改单选按钮颜色并选择加载的第一个元素

html - 布局 - 父 div 为 980px,子 div 必须为 100%

javascript - 用jQuery绑定(bind)某行的点击事件

javascript - 调用ajax函数显示错误tUncaught TypeError : $ is not a function using jquery

javascript - HTML5 canvas如何在一张图片上绘制另一张图片

html - IE7 页脚重叠