代码之家  ›  专栏  ›  技术社区  ›  QAZ

如果用户访问了Ajax请求的页面,是否加载主页?

  •  3
  • QAZ  · 技术社区  · 15 年前

    我正在为一个简单的网站使用jquery,并且有一个主页“index.html”,它可以通过jquery ajax请求加载一些内容(例如“info1.html”或“info2.html”),并在“index.html”页的元素中显示这些请求的结果。

    如果用户以某种方式直接访问“info1.html”,那么他们是否可以重定向或加载“index.html”主页?(或者这类事情的最佳实践)因为Google正在索引所有用于Ajax请求的小HTML文件,有时用户可以通过这些页面点击进入站点。

    谢谢。

    4 回复  |  直到 11 年前
        1
  •  5
  •   Gabriele Petrioli    15 年前

    解决方法1:
    由于jquery在默认情况下会选择body标记中的内容,因此可以在head元素中添加一个脚本,将您重定向到主页或元标记。( 更正确 )正如丹尼尔提到的。

    解决方法2:
    如果你的未加引号的文件在一个文件夹中,你可以使用robots.txt文件,并指导谷歌不要索引那些文件夹中的页面。

    或者你可以直接从这些页面里做(看 http://en.wikipedia.org/wiki/Noindex )

        2
  •  3
  •   Daniel Vassallo    15 年前

    您可能需要使用元刷新标记:

    <html>
    <head>
        <meta http-equiv="refresh" content="0; url=http://mydomain.com/main.html">
    </head>
    <body>
        <div>
            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed 
            ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad 
            eleifend option congue nihil imperdiet doming id quod mazim.</p>
        </div>
    </body>
    </html>
    
        3
  •  1
  •   Enrique    15 年前

    您可以在请求info1.html和info2.html时发送参数。 例如:

    $.ajax({
                    type: "POST",
                    url: "info1.html",
                    data:myParameter=1,
                    success: function(html){
                        .........
                    }
                });
    

    然后在info1.html中检查myparameter是否存在以及是否等于1。 如果两个条件都为真,则可以显示页面。如果不满足这些条件,您可以使用meta标记或使用javascript重定向用户。因此,如果用户直接在URL中键入info1.html,那么他将被重定向。为此,您需要一种服务器端技术,如PHP。所以您将使用info1.php和info2.php

        4
  •  0
  •   Harry dbr    11 年前

    我喜欢盖比的解决方法,我喜欢增加第三个:

    将您的信息替换为来自XML而不是HTML。

    但是如果你想保留HTML,你不一定需要服务器端的技术来在访问页面时重定向, 可以使用Java脚本中的WOWDO.OnLoad事件来执行以下操作:

    window.onload = function() {window.location.href = 'http://www.google.com';}