Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用位置散列来模拟使用JQuery浏览不同页面?_Javascript_Jquery_Url_Fragment Identifier - Fatal编程技术网

Javascript 如何使用位置散列来模拟使用JQuery浏览不同页面?

Javascript 如何使用位置散列来模拟使用JQuery浏览不同页面?,javascript,jquery,url,fragment-identifier,Javascript,Jquery,Url,Fragment Identifier,为了更好地理解位置散列的功能,我尝试制作一个简单的示例 基本上,我创建了一个带有按钮的页面。每次按下按钮时,都会添加一个新按钮,并向基本url添加一个新哈希。哈希值根据页面中按钮的数量而变化,因此如果有两个按钮,哈希值将为“/#按钮2”,如果有三个按钮,哈希值将为“/#按钮3” 我的印象是,如果我在url“/#按钮3”中,然后使用“/#按钮2”返回url,页面将更新,它将只显示两个按钮,而不是当前的三个按钮,但这不会发生。此外,重新加载页面将保留哈希,但不会保留我所做的更改,在这种情况下,我添加

为了更好地理解位置散列的功能,我尝试制作一个简单的示例

基本上,我创建了一个带有按钮的页面。每次按下按钮时,都会添加一个新按钮,并向基本url添加一个新哈希。哈希值根据页面中按钮的数量而变化,因此如果有两个按钮,哈希值将为“/#按钮2”,如果有三个按钮,哈希值将为“/#按钮3”

我的印象是,如果我在url“/#按钮3”中,然后使用“/#按钮2”返回url,页面将更新,它将只显示两个按钮,而不是当前的三个按钮,但这不会发生。此外,重新加载页面将保留哈希,但不会保留我所做的更改,在这种情况下,我添加的按钮将消失

这是我的代码:

//HTML
<button>I am a button</button>

// JavaScript
<script>
    var buttons = 1;
    $("button").click(function () {          
        location.hash = 'buttons' + ++buttons;
        $("body").append("<button>Click me</button>");                               
      });
    });
</script>
//HTML
我是一颗纽扣
//JavaScript
var=1;
$(“按钮”)。单击(函数(){
location.hash='按钮'+++按钮;
$(“正文”)。附加(“单击我”);
});
});

我试图模仿你的行为,例如,通过使用Angular,但不使用JavaScript框架。这可能吗?可以用JQuery完成吗?

我会阅读一些库源代码。我发现这个图书馆很简单。从那里我会写下一些东西。我要指出的是,它们使用了一种多填充机制:
isPushStateAvailable
&
isHashChangeAPIAvailable
。我不能给你一个完整的答案,但希望这能让你陷入困境。@moaxaca AngularJs ng的观点也不错:)