You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在Elementor Pro搭建的WordPress站点添加Calendly内嵌组件代码时出现“Named entity expected, got none”错误的原因排查

解决Elementor中Calendly HTML代码的“Named entity expected, got none”错误

这个问题我之前帮好几个用Elementor Pro的WordPress客户排查过,根源其实是HTML解析器对特殊字符的严格要求,具体来说是你代码里的&符号没有正确转义。

错误成因拆解

  • Elementor的自定义HTML模块(以及WordPress后台的HTML处理逻辑)遵循标准HTML规范:当解析HTML属性值里的&时,会默认这是一个HTML命名实体的开头(比如 代表空格、&代表&本身)。
  • 你的Calendly代码里,data-url属性里的参数用了&来分隔(text_color=202a3b&primary_color=4eaf4e),这里的&没有转义,解析器会误以为&primary_color是一个要识别的命名实体,但它根本不是合法的HTML实体,所以直接抛出“Named entity expected, got none”的错误。

修复后的代码

只需要把data-url里的&替换成&即可,修复后的完整代码如下:

<!-- Calendly inline widget begin -->
<div class="calendly-inline-widget" data-url="https://calendly.com/example/chat?text_color=202a3b&amp;primary_color=4eaf4e" style="min-width:800px;height:800px;"></div>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js"></script>
<!-- Calendly inline widget end -->

额外小提示

如果之后再遇到类似的HTML属性里带参数的情况,只要是&都要转成&amp;,避免触发解析错误。另外,Elementor其实有官方的Calendly集成组件(在Elementor Pro的小工具里),如果不想手动写HTML,直接用组件配置参数会更省心,还能避免这类语法问题。

内容的提问来源于stack exchange,提问作者PeakGen

火山引擎 最新活动