【问题标题】:Is it possible to add this line "as is" in HTML markup?是否可以在 HTML 标记中“按原样”添加这一行?
【发布时间】:2015-04-09 18:27:23
【问题描述】:

是否可以在 HTML 标记中“按原样”添加 JavaScript 和 JSON 表达式?

CONTRATE > 50 && SALINC <= 50 || RETAGE >= 50

{ "CONTRATE": 0, "SALINC": 0, "MARSTATUS": "single", "SPOUSEDOB": "1970-01-01" }

以便我可以将它加载到 XmlDocument .NET 对象中?

它可以是任何东西(html 标签属性、html 标签内容...),只要是 HTML 的一部分并且是 xml 有效的。

【问题讨论】:

  • 对于 json 你可以使用 JSON.stringify(json)
  • 有很多方法可以做到这一点
  • 对不起,你没看懂问题...)

标签: javascript html .net json


【解决方案1】:

您可以将文本隐藏在&lt;script&gt; 标记中,这些标记明确标记为 不是 是 JavaScript:

<script id="expression" type="text/not-javascript">
CONTRATE > 50 && SALINC <= 50 || RETAGE >= 50
</script>

<script id="stash" type="text/not-javascript">
{ "CONTRATE": 0, "SALINC": 0, "MARSTATUS": "single", "SPOUSEDOB": "1970-01-01" }
</script>

然后您可以通过其 id 找到 &lt;script&gt; 元素并使用 innerHTML 提取内容。

浏览器不会关注内容,除了寻找字符串&lt;/script&gt;,所以避免。

【讨论】:

  • 你说得对,HTML 文件并没有损坏...但是,我忘了提,我们需要将此类文件加载到 XmlDocument 对象中,它将是可自定义的模板并进行一些处理和渲染。即使有这些脚本部分,加载到 XmlDocument 也会失败。
  • @monstro 好吧,也许你不应该在你的问题中如此突出地包含“HTML 标记”:)
  • 为什么不呢?这正是我感兴趣的目标
  • 好吧,也许我不知道“加载到 XmlDocument 对象中”是什么意思。 什么您需要加载 - JSON 或您发布的 JavaScript 表达式?它们究竟应该如何包含在文档对象中?
  • XmlDocument 加载意味着: var xmlDoc = new XmlDocument(); xmlDoc.Load(filePath);需要加载整个 HTML(必须是有效的 XML)
【解决方案2】:

使其成为code标签、pre标签或textarea的内容。

【讨论】:

    【解决方案3】:

    由于大于和小于字符,第一行会破坏布局。您需要使用&amp;gt;&amp;lt;

    CONTRATE &gt; 50 && SALINC &lt;= 50 || RETAGE &gt;= 50
    

    第二行应该没问题。

    【讨论】:

    • 这就是重点,这就是为什么标题说“原样”的原因,这个验证是由高级用户定义的,并且必须是纯 JS 兼容的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2019-11-04
    • 1970-01-01
    • 2022-11-11
    相关资源
    最近更新 更多