我想将我当前的URL添加到内容值的meta标签中,当前使用某些指向错误url的对象是不正确的。
<meta property="og:url" content="${request.requestURL.toString}" />
这将返回错误的URL,此标记位于组件内部,该组件在整个站点的许多其他页面中使用,因此它被回收了,我不能仅对URL进行硬编码。
这是我尝试使用一些javascript进行的操作,但是它不起作用,我相信它会在知道它所在的url之前运行脚本。
<script>
var currentLocation = window.location;
</script>
<meta property="og:url" content="${currentLocation}" />
,但不会返回当前位置 当我查看页面源代码时,它只是显示此 它甚至不显示content属性
<meta property="og:url"/>
如果我检查了一下,可以看到该变量中引用了该URL
答案 0 :(得分:0)
html无法处理javascript ...这是一种静态语言。您需要使用脚本进行设置
<meta id="meta-location" property="og:url" content="" />
<script>
document.querySelector('#meta-location').setAttribute('content', location.href)
</script>
答案 1 :(得分:0)
由于JS在初始化DOM之后编辑DOM,因此您必须在加载元标记后运行脚本。通过属性选择器获取元,如下所示:
<meta property="og:url" content="" />
<script>
document.querySelector('meta[property]="og:url"').setAttribute('content', location.href)
</script>
或者您可以使用名称:
<meta name="url" property="og:url" content="" />
<script>
document.querySelector('meta[name]="url"').setAttribute('content', location.href)
</script>
答案 2 :(得分:0)
您可以尝试使用类似方法,使用此方法,您将在meta标记中获得完整的网址。
<meta property="og:url" content="${request.scheme}://${request.serverName}:${request.serverPort}${currentpage.path}.html" />
答案 3 :(得分:0)
尝试将Java类用于业务逻辑(无论是吊索模型还是扩展WCMPojo类)
我使用规范标签具有类似的功能。我所做的是从我的FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
返回了一个字符串(Url),并根据给定条件对其进行了更新。
Model
以HTML
String url;
// getter of url
@PostConstruct
public void afterCreated() {
url = url + domainName + slingRequest.getRequestURI();
or
url = slingRequest.getRequestURL().toString();
or
url = "Any modification you like";
}
通过这种方式,您可以轻松调试并进行相应的修改。
希望这会有所帮助。
答案 4 :(得分:0)
<meta name="url" property="og:url" content="www.sample.com" />
<script>
document.querySelector("meta[name=\"url\"]").setAttribute("content", window.location.href);
</script>