【问题标题】:Send arguments to use function in JS Use API | AEM 6.5发送参数以使用 JS 中的函数使用 API | AEM 6.5
【发布时间】:2021-06-01 08:46:54
【问题描述】:

我正在尝试在我的 Javascript 文件中获取网址。但似乎 window.location 在 JS Use API 中也没有工作。因此,我试图将 URL 作为参数发送,但由于错误而失败。 我的 JS 代码:

"use strict";
use(function () {
var url = this.url;
/other code/
});

我的 HTML 代码:

 <sly data-sly-use.item="'myfile.js' @ url=value">

【问题讨论】:

  • "window.location.href 不起作用" — 这是什么意思? AEM 是否没有为您提供价值?它给您的值是否看起来不错,但会导致问题进一步下降?
  • stackoverflow.com/questions/28564059/… 请检查一下,这就是我发现窗口无法正常工作的原因

标签: javascript html api aem sightly


【解决方案1】:

HTL/Sightly 是一种服务器端模板语言。当页面被渲染时,脚本(包括 JS 使用对象)被编译并运行一次。要获取当前 URL/位置,您可以利用 SlingHttpServletRequest#getRequestPathInfo。当前请求以request 的形式提供,作为HTL Global Objects 的一部分。

另外,关于使用&lt;sly data-sly-use.item="'myfile.js' @ url=value"&gt; 时出现错误,这很可能是因为value 没有在HTL 服务器端呈现上下文中定义为变量名。使用 &lt;sly data-sly-use.item="'myfile.js' @ url='https://www.test.com/'"&gt; 应该可以。

【讨论】:

    猜你喜欢
    • 2022-05-31
    • 1970-01-01
    • 2021-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 2019-03-20
    • 1970-01-01
    相关资源
    最近更新 更多