【问题标题】:I made a page loaded with javascript. how can I make a link to the page directly?我制作了一个加载了 javascript 的页面。如何直接链接到页面?
【发布时间】:2014-09-03 07:12:09
【问题描述】:

我用javascript做了很多页面加载到div区。

如何从我的网站外部建立直接链接以显示最后一页?

非常感谢您!

第一个javascript:

$(document).ready(function() {

    $('#content').load('home.php');


    $('a#nav').click(function() {
        var page = $(this).attr('href');
        $('#content').load('menu/' + page + '.php');
        return false;
    });

});

第二个javascript:

$('a#navHan').click(function() {
    var page = $(this).attr('href');
    $('#contentHan').load('menu/Han/' + page + '.php');
    return false;
});

【问题讨论】:

    标签: javascript jquery ajax hyperlink href


    【解决方案1】:

    您可以尝试使用href中的哈希值或查询值到您的页面,并在页面加载时使用js读取该值。


    如果是哈希,例如www.example.com#google.com

    var page = window.location.hash.substr(1); // page = google.com
    

    并将您的代码更改为:

    $(document).ready(function() {
        var fullPage = window.location.hash.substr(1); // page = google.com
        if (fullPage == '')
            $('#content').load('home.php');
        else
            $('#content').load(fullPage);
    
    
        $('a#nav').click(function() {
            var page = $(this).attr('href');
            $('#content').load('menu/' + page + '.php');
            return false;
        });
    
    });
    

    你的href格式应该是www.example.com#menu/page_name.php或者www.example.com#menu/Han/page_name.php


    如果您使用查询变量,例如www.example.com?go=google.com

    function getParameterByName(name) { // by jolly.exe at http://stackoverflow.com/questions/901115
        name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
        var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
            results = regex.exec(location.search);
        return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
    }
    var page = getParameterByName("go"); // page = google.com
    

    您需要将代码更改为:

    $(document).ready(function() {
        function getParameterByName(name) { // by jolly.exe at http://stackoverflow.com/questions/901115
            name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
            var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
                results = regex.exec(location.search);
            return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
        }
        var page = getParameterByName("page");
        var isHan = parseInt(getParameterByName("han")) == 1;
        if (page == '')
            $('#content').load('home.php');
        else
            $('#content').load('menu/' + ((isHan)? "Han/" : "") + page + '.php');
    
    
        $('a#nav').click(function() {
            var page = $(this).attr('href');
            $('#content').load('menu/' + page + '.php');
            return false;
        });
    
    });
    

    你的href格式应该是www.example.com?page=page_name或者www.example.com?page=page_name&han=1

    【讨论】:

    • 非常感谢您的回答!但我不确定如何使用您的代码。我的网站在这里:korean123.tk/index.php。我希望用户转到菜单中的一个页面,例如,初学者/韩文和发音/发音练习。带有直接来自外部的链接。
    • 在您的页面中,将我的代码包含为 $(function(){...})
    【解决方案2】:

    我不太确定你的意思,但我希望这会有所帮助。

    您可以使用主题标签。例如:www.example.com/dir#lastpage。 然后使用 javascript,检索主题标签并使用 jQuery/Ajax 加载页面。

    var page = location.hash.substr(1);
    $('#content').load("menu/" + page + ".php");
    

    【讨论】:

    • 非常感谢您的回答!但我不确定如何使用您的代码。我的网站在这里:korean123.tk/index.php。我希望用户转到菜单中的一个页面,例如,初学者/韩文和发音/发音练习。带有直接来自外部的链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 2012-04-30
    • 2016-10-28
    • 2013-09-02
    相关资源
    最近更新 更多