角度属性未被Day CQ链接检查器变换器识别

时间:2017-07-19 13:37:25

标签: angularjs apache aem sling

我正在使用" Day CQ Link Checker Transformer"对于项目上的URL映射, 但我需要根据angularJS转换按钮上的链接。 但是当我尝试在Day CQ Link Checker Transformer上添加Data-navurl时, 它不会转换网页上的URL。

2 个答案:

答案 0 :(得分:2)

Link Checker Transformer不适用于Angular应用程序,因为您的标记包含在<script>标记中。您需要使用JSP标记库或HTL Sling Model强制重写URL。

更新:

为了进一步解释...... LinkCheckerTransformerSling rewriting pipeline中的任何其他变换器一样工作,它响应来自HTML解析器的SAX事件。这意味着它可能不会重写HTML页面中的所有链接,除非它被配置为生成事件。例如,<input>标记可用于保存开放重定向 - 除非将INPUT标记添加到HTML解析器并将input:value添加到重写元素列表中,否则不会重写这些标记。您可以尝试将SCRIPT标记添加到HTML解析器中,但我不确定解析的行为方式......

答案 1 :(得分:1)

Day CQ Link Checker Transformer不会检查{DOM}结构的text级别上的任何内容。它将HTML视为XML文档,规则仅应用于元素和属性。

在您的情况下,角度模板是<script>元素的一部分,但它被视为文本,因此会被跳过。

这与编写普通JS以在页面中注入链接没有什么不同。链接检查器将优雅地忽略脚本文本。