- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这将-6ren">
在我当前的项目中,我们希望从包含 document.write 的外部 javascript 文件中获取一个表。过去我们以这种方式做到这一点:
<script src="http://url.to.external.domain.com/file.ashx?sid=<ID>" type="text/javascript"></script>
这将返回一个 javascript 文件,其中包含一个 document.write() 以及需要在脚本标记位置显示的 HTML。
我们现在正尝试在 Angular2 中执行此操作。在 Angular1 中,我通过使用将脚本标记写入模板的指令来设法做到这一点。这很好用。
Angular2 从模板中删除脚本标签,因此这不是解决方案。我试过创建一个单独的组件来“模仿”我在 Angular1 中使用的解决方案,如下所示:
import { Component, Input } from '@angular/core';
@Component({
moduleId: module.id,
selector: 'external-table',
template: `<script src="http://url.to.external.domain.com/file.ashx?sid={{id}}" type="text/javascript"></script>`
})
export class ExternalTableComponent {
@Input('id') id: number;
}
这会在浏览器控制台中引发警告:
Failed to execute 'write' on 'Document': It isn't possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened.
由于我无权访问此第三方服务器,因此无法更改此表的生成或检索方式。
有人知道我应该如何在 Angular2 中执行此操作吗?
最佳答案
这是在“npm install --save postscribe”之后使用 PostScribe 在 Angular 7 中加载 DarkSky API 的示例
import postscribe from 'postscribe';
const script = '<script src="https://darksky.net/map-embed/@radar,41.88,-87.62,10.js?embed=true&timeControl=false&fieldControl=false&defaultField=radar"></script>';
postscribe('#darkSky', script);
模板中有ID为“darkSky”的DIV
关于javascript - 在 Angular2 中加载具有 document.write 的外部 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38474728/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!