【问题标题】:how to generate canonical tag dynamically in jsp如何在jsp中动态生成规范标签
【发布时间】:2016-05-28 16:33:06
【问题描述】:

需要在jsp中添加规范标签

<link rel="canonical" url="http://www.example.com"/>

但我不想硬编码 url 值。

我怎样才能做到这一点。

我尝试过使用数据绑定技术,但在查看源代码时, 链接标签显示为

<link rel="canonical" href="" data-bind="attr:{href: ko.toJS($root.seoURLCanonical)}"/>

而不是

<link rel="canonical" url="http://www.example.com"/>

在检查时我们可以看到规范链接标记为

<link rel="canonical" href="http://www.example.com" data-bind="attr:{href: ko.toJS($root.seoURLCanonical)}"/>

【问题讨论】:

  • 你在使用 AngularJS 吗?

标签: jquery jsp seo canonical-link canonicalization


【解决方案1】:

您可以设置html标签的id并将ViewModel附加到它:

简单示例:

<html id="htmlTag">
<head>
    <script src="<c:url value='/static/js/knockout-3.4.0.js' />"></script>
    <script src="<c:url value='/static/js/jquery-1.10.2.js' />"></script>

    <link rel="canonical" data-bind="attr:{url: seoURLCanonical}"/>
</head>
<body>
<script type="text/javascript">
    $(function () {
        var viewModel = {
            seoURLCanonical: "http://www.example.com"
        };

        ko.applyBindings(viewModel, document.getElementById("htmlTag"));
    });
</script>
</body>
</html>

在 DOM 检查器中,您将看到:

【讨论】:

  • 通过数据绑定我能够绑定规范值。但在查看源代码时它不会反映
  • 会好吗?如果 url 值在视图源中不可见
猜你喜欢
  • 1970-01-01
  • 2021-07-16
  • 1970-01-01
  • 1970-01-01
  • 2012-10-15
  • 1970-01-01
  • 2012-05-29
  • 2021-05-27
  • 1970-01-01
相关资源
最近更新 更多