相关疑难解决方法(0)

更改URL而不刷新页面

我想更换一个没有页面刷新的网址.

我需要改变:

https://example.com/en/step1
Run Code Online (Sandbox Code Playgroud)

https://example.com/en/step2
Run Code Online (Sandbox Code Playgroud)

怎么做 ?

javascript html5-history

53
推荐指数
2
解决办法
9万
查看次数

33
推荐指数
2
解决办法
4万
查看次数

如何复制Pinterest网站的模态效果?

当您单击图像时,我想创建与Pinterest相同的效果:打开模态窗口但页面的URL也会更改.最后一部分至关重要:浏览器地址栏中的URL已更改,但我们仍然在后台看到原始页面内容(这就是为什么我称之为模态,即使它可能比这复杂得多).我理想地寻找一个jQuery解决方案.

[编辑]我应该补充一点,当然Pinterest行为不会破坏Back按钮,这也是至关重要的.

jquery modal-dialog pinterest

31
推荐指数
2
解决办法
1万
查看次数

pjax是如何工作的?

我刚刚发现了pjax,我发现它完全令人敬畏.如果我理解正确,它是AJAX,但没有它的问题(完全可降解,页面的URL和标题在使用时会发生变化,与搜索机器人兼容......).

但我很好奇它是如何工作的?如何更改浏览器中的URL,而无需更改页面...我在某处读到了你需要的Firefox 4,那是一个新的"网络"功能吗?

javascript ajax

20
推荐指数
1
解决办法
5649
查看次数

javascript更改get参数而不重定向

如何在不重定向的情况下更改get参数?

parent.location.search = "?after=20"; 
// ok that changes, but also redirect to the new page
Run Code Online (Sandbox Code Playgroud)

有解决方案吗 或者答案是否定的,如果不是,请写下大号.

javascript url jquery redirect

10
推荐指数
2
解决办法
1万
查看次数

当hashchange发生时,IE不会触发popstate

我有使用history API和push/popstate在客户端进行路由的页面.这适用于所有现代浏览器.(node.js prerenderer将支持搜索引擎)

但是,我最近碰到了一个问题,IE不会在hashchange上激活popstate,而pushstate与url的工作正常,包括IE11.

例如,像这样......

$(document).on('click', 'a', function(e) {
    e.preventDefault();
    History.pushState({}, '', $(this).attr('href'));
});
Run Code Online (Sandbox Code Playgroud)

...正确地发射......

$(window).on('popstate', function() {
    console.log('url changed');
});
Run Code Online (Sandbox Code Playgroud)

根据W3C规范,hashchange应该触发popstate,因为它正在改变当前的历史记录.但是,当我添加哈希链接(<a href="#hashchange">...),在IE上单击它时,什么都没有激发.:/

我不想做IE检测(因为现在有很多浏览器可能会陷入同样的​​厄运),而不是使用特征检测.但是,由于历史(popstate/pushstate)在其余部分工作得很好,我甚至无法检测到丢失的push/popstate上的问题......

if(!window.history || !window.history.pushState) { ...
Run Code Online (Sandbox Code Playgroud)

...而是使用hashchange代替.:/

有什么想法吗?

PS.作为奖励,使用jquery.history.js(jquery包装的history.js版本)和hashtag url将整个事情搞砸了.

http://localhost/routetest/index.html#/page1/1234
Run Code Online (Sandbox Code Playgroud)

http://localhost/page1/1234
Run Code Online (Sandbox Code Playgroud)

...... ??? :/

javascript jquery history.js pushstate

10
推荐指数
1
解决办法
3285
查看次数

IE历史推送状态

我有一个网页,用户可以通过AJAX显示条款和条件而无需重新加载页面.这本身就没有问题,但是,我也试图推动一个历史状态.

除了在IE中,这在大多数浏览器中都能正常工作.出于某些莫名其妙的原因,内容是通过AJAX加载的,但是,还会在上一页打开一个新选项卡.我怎样才能解决这个问题?

您可以在此网页(http://galaxy-battle.de)上查看示例,尝试点击"加入"框中的"T&C".

ajax internet-explorer history new-window pushstate

5
推荐指数
1
解决办法
2万
查看次数

Internet Explorer 10和popstate没有绑定

我想知道什么可能导致window.addEventListner('popstate', foo, false) window.attachEvent('onpopstate', foo)并且window.onpopstate=foo不会触发函数foo.我们有类似于此的代码,在生产中它不会触发,但在开发中它确实如此.是否可以通过JS禁用popstate事件或导致某种冲突或竞争条件发生?

编辑(Gustin):+示例代码

PopStateEvent.js(完整列表,使用jQuery 1.9.1):

$(window).bind('popstate', function () { alert("Pop state event received!"); });
Run Code Online (Sandbox Code Playgroud)

如果我用IE 10(10.0.9200.16484)测试这个非常简单的例子,我从未收到过弹出状态事件(即警报框永远不会出现).即使我离开并通过IE的后退按钮返回.即这个Q/A并不能解决我的问题.

使用Chrome 24,一切正常.

jquery internet-explorer-10

5
推荐指数
1
解决办法
1972
查看次数

2
推荐指数
1
解决办法
1401
查看次数