javascript

java

python

c#

node.js

reactjs

android

php

c++

ruby-on-rails

html

jquery

git

css

ios

sql

.net

c

<img src="//i.stack.imgur.com/bk9VA.png" alt="" class="sponsor-tag-img" width="18" height="16"/>android

string

javascript - 你可以在不影响历史的情况下使用哈希导航吗?

我担心这可能是不可能的,但有没有办法改变URL的哈希值而不在浏览器的历史记录中留下条目而不重新加载? 或者做同等的?

至于具体细节,我正在开发一些基本的哈希导航:

//hash nav -- works with js-tabs
var getHash = window.location.hash;
var hashPref = "tab-";
function useHash(newHash) {
    //set js-tab according to hash
    newHash = newHash.replace('#'+hashPref, '');
    $("#tabs li a[href='"+ newHash +"']").click();
}
function setHash(newHash) {
    //set hash according to js-tab
    window.location.hash = hashPref + newHash;

    //THIS IS WHERE I would like to REPLACE the location.hash
    //without a history entry

}
    // ... a lot of irrelavent tabs js and then....

    //make tabs work
    $("#tabs.js-tabs a").live("click", function() {
        var showMe = $(this).attr("href");
        $(showMe).show();
        setHash(showMe);
        return false;
    });
    //hash nav on ready .. if hash exists, execute
    if ( getHash ){
        useHash(getHash);
    }

显然,使用jQuery。 这个想法是在这个具体的例子中1)让用户回过头来改变每个标签可以有效地打破后退按钮&#39; 通过堆积不必要的引用,以及2)如果它们达到刷新状态,则不保留它们当前所处的选项卡是一种烦恼。

trans by 2019-08-13T23:30:08Z

html5 - Chrome中的页面加载时弹出窗口

我正在为我的网络应用程序使用History API,但有一个问题。我执行Ajax调用以更新页面上的一些结果并使用history.pushState()来更新浏览器的位置栏而不重新加载页面。 然后,当然,我使用window.popstate来恢复单击后退按钮时的先前状态。

问题是众所周知的 - Chrome和Firefox以不同的方式对待popstate事件。 虽然Firefox没有在第一次加载时启动它,但Chrome确实如此。 我想拥有Firefox风格并且不会在加载时触发事件,因为它只是在加载时使用完全相同的结果更新结果。 除了使用History.js之外是否有解决方法? 我不喜欢使用它的原因是 - 它本身需要太多的JS库,因为我需要在已经有太多JS的CMS中实现它,我想最小化JS我放的 在里面。

所以,想知道是否有办法让Chrome不启动&#39; popstate&#39; 在加载或者,也许有人试图使用History.js,因为所有库一起混合到一个文件中。

trans by 2019-08-11T21:51:59Z

jsp - 注销后阻止用户查看以前访问过的安全页面

我要求最终用户在注销/注销后不能返回受限页面。 但目前最终用户可以通过浏览器后退按钮,访问浏览器历史记录或甚至通过在浏览器的地址栏中重新输入URL来实现。

基本上,我希望最终用户在注销后不能以任何方式访问受限制的页面。 我怎样才能做到最好? 我可以用JavaScript禁用后退按钮吗?

trans by 2019-08-03T14:07:31Z

javascript - 在我的AJAX应用程序中拦截对后退按钮的调用:我不希望它做任何事情

我有一个AJAX应用程序。 用户单击按钮,页面的显示会发生变化。 他们点击后退按钮,期望进入原始状态,但是,他们会在浏览器中转到上一页。

如何拦截和重新分配后退按钮事件? 我已经研究过像RSH这样的库(我无法工作......),我听说使用哈希标签会有所帮助,但我无法理解它。

trans by 2019-06-21T21:41:41Z

javascript - 阻止浏览器滚动HTML5历史记录弹出窗口

当popstate事件发生时,是否可以阻止滚动文档的默认行为?

我们的网站使用jQuery动画滚动和History.js,状态更改应该将用户滚动到页面的不同区域,无论是通过pushstate还是popstate。 问题是浏览器在发生popstate事件时自动恢复先前状态的滚动位置。

我已经尝试使用容器元素设置为文档的100%宽度和高度,并滚动该容器内的内容。 我发现的问题是它似乎没有滚动文档那么顺畅; 特别是如果使用大量的css3,如盒阴影和渐变。

我还尝试在用户启动的滚动期间存储文档的滚动位置,并在浏览器滚动页面后(在popstate上)恢复它。 这在Firefox 12中运行良好,但在Chrome 19中,由于页面正在滚动和恢复,因此存在闪烁。 我假设这与滚动和被触发的滚动事件之间的延迟有关(滚动位置被恢复的地方)。

Firefox在popstate触发之前滚动页面(并触发滚动事件),Chrome首先触发popstate然后滚动文档。

我见过的所有使用历史API的网站都使用与上述类似的解决方案,或者只是在用户返回/转发时忽略滚动位置更改(例如GitHub)。

是否可以阻止文档在popstate事件中滚动?

trans by 2019-06-01T07:52:10Z

1 共1页