2

我有一个带有标题导航的网络表单。

为了生成这个标题导航,我对Java类进行了AJAX调用并获取 JSON 字符串作为响应。

我解析字符串并在 jQuery 中创建 HTML。下面是一个例子:

    $(document).ready(function(){
        $.ajax({
            url: '/test/newHeaderJSON',
            dataType: 'json',
            type: 'GET',
            success: function(data, textStatus, jqXHR) {
                $('ul.main-menu').append('<a href="'+ obj.header.headerItems.productMenu.link +'">' + obj.header.headerItems.productMenu.name + '</a>');
            }
        });
    });

上面的示例显示了通过 jQuery 添加到页面的锚标记。

现在问题来了。此锚点在页面源中看不到,因此不可抓取。

我想让这个组件可以爬行。

我已经阅读了关于 _escape_fragment_ 的信息,但无论我在网上找到什么,我都无法理解它。

有人可以告诉我如何以更易于理解的方式使用此方法吗?

下面是我使用 jsp struts2 迭代器的另一种方法。即使在这种方法中,我也没有得到源代码。该代码适用于 DOM,但不适用于源代码。

 <html>
    <head>
       <script type="text/javascript">
          $.get('test/newHeader');
       </script>
    </head>
    <body>
       <s:iterator value="%{menuOptions.get('Home_Improvement').productgroup}" var="productGroupVar">
            <a href="<test:sRelativeUrl url='/${productGroupVar.groupId}'/>">${productGroupVar.name}</a>
        </s:iterator>
    </body>
 </html>
4

1 回答 1

0

此锚点在页面源中看不到,因此不可抓取。

Google 能够抓取由 Javascript 生成的页面。因此,你的说法是不正确的。因此,如果该/那些页面的 URL 在 a 中可用sitemap.xml,则没有问题。

于 2018-01-26T17:33:01.113 回答