首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReferenceError: HTMLAnchorElement没有定义为角7通用

ReferenceError: HTMLAnchorElement没有定义为角7通用
EN

Stack Overflow用户
提问于 2019-12-09 09:30:24
回答 1查看 1.2K关注 0票数 0

我正在致力于一个具有服务器端渲染的Range7应用程序,并试图使用文件保护插件下载pdf文件。我可以在端口上下载文件,但是当我构建应用程序时,它会抛出这个错误:

/node_modules/file-saver/dist/FileSaver.min.js没有定义

ReferenceError: HTMLAnchorElement

我试图通过在global['HTMLAnchorElement']=null文件中添加server.ts来使其工作,但它不是这样工作的。我也尝试降低文件保护插件版本,但仍然得到相同的错误。

我一直在寻找一个解决方案,从过去的24小时,但无法找到一个可能的解释,如何解决它。

package.json

代码语言:javascript
复制
"dependencies": {
    "@agm/core": "1.0.0-beta.5",
    "@angular/animations": "7.2.12",
    "@angular/cdk": "7.3.7",
    "@angular/common": "7.2.12",
    "@angular/compiler": "7.2.12",
    "@angular/core": "7.2.12",
    "@angular/flex-layout": "7.0.0-beta.23",
    "@angular/forms": "7.2.12",
    "@angular/http": "7.2.12",
    "@angular/material": "7.3.7",
    "@angular/platform-browser": "7.2.12",
    "@angular/platform-browser-dynamic": "7.2.12",
    "@angular/platform-server": "7.2.12",
    "@angular/pwa": "^0.12.4",
    "@angular/router": "7.2.12",
    "@angular/service-worker": "7.2.12",
    "@fortawesome/angular-fontawesome": "^0.2.0",
    "@fortawesome/fontawesome-svg-core": "^1.2.25",
    "@fortawesome/free-brands-svg-icons": "^5.11.2",
    "@fortawesome/free-solid-svg-icons": "^5.11.2",
    "@gorniv/ngx-universal": "^1.1.5",
    "@nebular/eva-icons": "^4.5.0",
    "@nebular/theme": "^4.5.0",
    "@nguniversal/express-engine": "7.1.1",
    "@nguniversal/module-map-ngfactory-loader": "7.1.1",
    "@ngx-meta/core": "^7.0.10",
    "@ngx-share/button": "^7.1.4",
    "@ngx-share/buttons": "^7.1.4",
    "@ngx-share/core": "^7.1.4",
    "@types/file-saver": "^2.0.1",
    "@types/stripe-checkout": "^1.0.3",
    "angular-calendar": "^0.23.3",
    "angular-image-slider": "0.0.8",
    "angular-sortablejs": "^2.7.0",
    "angular-tree-component": "6.1.0",
    "angularfire2": "^5.2.3",
    "browser-sync": "^2.26.3",
    "core-js": "2.4.1",
    "express": "4.16.4",
    "file-saver": "^2.0.2",
    "font-awesome": "^4.7.0",
    "hammerjs": "2.0.8",
    "helmet": "^3.21.2",
    "increase-memory-limit": "^1.0.7",
    "intl": "^1.2.4",
    "jquery": "3.2.1",
    "leaflet": "^1.6.0",
    "libphonenumber-js": "^1.7.27",
    "moment": "^2.24.0",
    "ngx-filesaver": "^2.2.1",
    "ngx-universal-cookies": "^8.0.1",
    "node-pre-gyp": "^0.14.0",
    "perfect-scrollbar": "^1.3.0",
    "quill": "^1.3.7",
    "regexp-replace-loader": "^1.0.1",
    "rxjs": "^6.5.3",
    "rxjs-compat": "^6.5.3",
    "screenfull": "^3.3.3",
    "sortablejs": "^1.10.1",
    "tether": "^1.4.7",
    "ts-loader": "^3.5.0",
    "webpack-bundle-analyzer": "^3.6.0",
    "webpack-node-externals": "^1.7.2",
    "zone.js": "^0.8.29"
  }

如果有人能帮我解决这个问题,那就太好了。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-09 11:41:18

我尝试了很多使用文件保护插件下载,但无法使它与角ssr工作。因此,我没有使用文件保护程序,而是使用了window.URL.createObjectURL属性。如下所示:

代码语言:javascript
复制
const a = document.createElement('a');
document.body.appendChild(a);
a.style.display = 'none';
const url = window.URL.createObjectURL(response);
a.href = url;
a.download = 'file.pdf';
a.click();
window.URL.revokeObjectURL(url);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59245946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档