微信扫码关注登录
登录注册后,您的订单将在个人中心里生成,请前往查看。同时,您将收到展会最新的动态。
这段代码是一个 JavaScript 模块,用于格式化推荐语或描述内容,适用于 HTML 内联脚本以及模块化加载环境。它通过一个立即调用的函数表达式(IIFE)定义,并返回一个名为 `__setDesc` 的函数,内部使用了严格模式以提升代码的健壮性。
该模块包含两个主要辅助函数:`getAttr` 用于从 HTML 标签中提取指定属性值;`filterContentWithLinkNWeapp` 则解析字符串中的 `` 标签链接,并根据链接类型进行不同处理,如微信小程序链接、普通网页链接或地理位置链接,分别添加对应的类名和数据属性。
在格式化逻辑中,模块会根据参数 `isNoEncode` 来决定是否对内容进行 HTML 编码。如果不编码,则保留原始 HTML 并将换行符转为 `
` 标签;否则将特殊字符如空格和换行转义为 HTML 实体,防止 XSS 攻击并确保内容安全展示。
最后,模块根据 `itemShowType` 参数将处理后的描述内容插入到页面的不同 DOM 元素中。如果是特定类型(如 8 或 10),则插入到图片或文本描述区域;其他情况插入通用分享区域,并根据内容高度判断是否显示“展开更多”按钮,实现内容的动态截断与展示。