【问题标题】:How to Read a JavaScript Object in CDATA如何在 CDATA 中读取 JavaScript 对象
【发布时间】:2018-11-15 19:36:16
【问题描述】:

我正在尝试读取网页上 CDATA 中的 JavaScript 对象中的变量值。该对象非常奇怪,因为它的格式为 a.b.c ... 我认为不可能制作这样的 JS 对象,而且它可能是非法的,因为它似乎无法在 CDATA 之外工作。

<script type="text/javascript">
//<![CDATA[
a.b.c = {
    num : 100
};
//]]>
</script>

您将如何读取 CDATA 中 num 的值?

谢谢。

【问题讨论】:

  • CDATA 只是一个评论;它没有效果。

标签: javascript object cdata


【解决方案1】:

@SLaks:CDATA 是字符数据,不能被 XHTML 解析器解释而是按原样读取,绝不是不应由 HTML 解析器解释的注释。从这个问题来看,这一点非常明显。 'a.b.c' 指的是对象'a' 的属性'b' 的属性集'c',该对象'a' 可以在HTML 页面的其他地方或页面加载的外部脚本中定义。如果您将其复制并粘贴到其上下文之外,它将无法运行。

【讨论】:

    【解决方案2】:

    我找到了这个答案:

    <script>
    
    var page = document.documentElement.outerHTML;
    var pos = page.indexOf('num') + 5;
    var id = page.substring (pos);
    
    document.write (id.split(',')[0]);
    
    </script>

    在被搜索的页面中,搜索项(“num”)是一个不会出现在页面其他任何地方的字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-16
      • 2015-07-17
      • 2016-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-18
      相关资源
      最近更新 更多