- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从我的 API 中得到一个完整的 HTML 页面作为一个字符串,包含 css(内联以及 header )和 javascript,看起来像这样:
<script></script>
<style></style>
<div></div>
.
.
.
</html>
没有外部文件,只有一个完整的 HTML 页面。
我尝试通过一个函数将 document.innerHtml 设置为字符串内容,HTML 在这种情况下或多或少起作用,但脚本部分是 obv。忽略。
我还尝试将组件的模板设置为字符串,但随后出现了很多错误,例如意外字符“EOF”(您的模板中是否有未转义的“{”?使用“{{ '{' }}”)对其进行转义。)(因为我希望包含 js)和很多 意外的结束标记“span”。当标签已经被另一个标签关闭时,可能会发生这种情况。(阅读这个,我只是希望 angular 不要触及我的字符串)
在另一次尝试中,我刚刚创建了一个带有一个 div 的模板,然后用字符串填充它。由于卫生原因无法正常工作,在添加绕过 SecurityTrustHtml 后,它可以正常工作,但 css 完全困惑,所有 js 都被删除。
我知道这不是 Angular 的工作方式,但我们有一个正在运行的软件需要迁移到 Angular 并且页面是由 Python 引擎生成的,所以我没有真正的方法来更改字符串在我从 api 获取它之前。如果有一种方法可以从字符串中读取部件、css、脚本并以某种方式将它们单独传递到页面,我也会很满意(只要它不会花费太多性能)
最佳答案
我会将问题分成两部分,附加 html 和 css,然后添加 javascript。
如前所述,您收到的整个内容都有一个字符串。因为你知道 javascript 将在 <script>...</script>
之间标签,您可以使用正则表达式或其他方式获取它。获得脚本 url 后,您可以按照 this 加载它。计算器或其他。
有几种方法可以附加可在 Angular 中使用的脚本,stackoverflow 包含很多方法。
与之前类似,您可以提取 HTML 和 css 代码。完成后,您可以使用 DOMParser Api将您的字符串转换为适当的 DOM 元素。
Angular 允许以安全的方式操作应用程序的 DOM 元素。这是通过 Renderer2 API 完成的.特别是 appendChild方法允许您将 DOM 元素添加到您想要的任何其他 DOM 元素。您可以使用此 API 添加您收到的内容。
关于angular - 使用整个 hmtl 字符串作为包含 css 和 js 的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69119436/
问题: date_list 是一个空列表。 不应为空,因为列表长度应等于 oct 和 filing_type_list 的列表长度。 我做了什么: 搜索拼写错误。 尝试了不同的公司(例如 REXAHN
我从我的 API 中得到一个完整的 HTML 页面作为一个字符串,包含 css(内联以及 header )和 javascript,看起来像这样: . . . 没有外部文件,只有一个完整的 H
我是一名优秀的程序员,十分优秀!