javascript - 如何在 Angular 模板中嵌入 GitHub 要点?

标签 javascript angular github embedding gist

Angular 会忽略其模板中的 script 标签,但它们是加载 GitHub gist 所必需的。这样做的最佳做法是什么?使用 iframe?动态创建 script 标签?还是别的?

最佳答案

一种方法是创建一个包含 scriptiframe 并在您希望要点出现时附加它(基于 jasonhodges 解决方案)。

模板

 <iframe #iframe type="text/javascript"></iframe> 

组件

@ViewChild('iframe') iframe: ElementRef;

gistUrl: string;

ngAfterViewInit() {
  const doc = this.iframe.nativeElement.contentDocument || this.iframe.nativeElement.contentElement.contentWindow;
    const content = `
        <html>
        <head>
          <base target="_parent">
        </head>
        <body>
        <script type="text/javascript" src="${this.gistUrl}"></script>
        </body>
      </html>
    `;
    doc.open();
    doc.write(content);
    doc.close();
}

关于javascript - 如何在 Angular 模板中嵌入 GitHub 要点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50969506/

相关文章:

angular - 如何在 RxJs 订阅中添加缓冲区和去抖限制

javascript - Uncaught Error : Can't resolve all parameters for AppComponent: (? )

Git clone http 带密码

javascript - 如何将 Javascript(jQuery) 添加到从 XSLT/XML 创建的页面中

javascript - jQuery find() 会出现什么行为?

angular - NGXS:ofActionSuccessful 未被触发,但操作显示在 Redux Devtools 上

github - 无论如何,是否可以在不将用户重定向到当前页面的情况下使用 Github 对用户进行身份验证?

GitHub - 工作 : what is : use actions/checkout

javascript - 如何更改 SAPUI5 页面中每个 DOM 对象的 css

javascript - 对于在 Backbone 中监听模型的变化有点困惑