相关疑难解决方法(0)

如何检测浏览器后退按钮事件 - 跨浏览器

你如何明确地检测用户是否按下了浏览器中的后退按钮?

如何使用#URL系统在单页Web应用程序中强制使用页内后退按钮?

为什么地球上没有浏览器按钮触发他们自己的事件!?

javascript cross-browser back single-page-application

188
推荐指数
11
解决办法
42万
查看次数

单击后退按钮时是否存在跨浏览器onload事件?

对于所有主流浏览器(IE除外),onload由于后退按钮操作,页面加载时不会触发JavaScript 事件 - 它仅在首次加载页面时触发.

有人能指出我解决这个问题的一些示例跨浏览器代码(Firefox,Opera,Safari,IE,...)吗?我很熟悉Firefox的pageshow活动,但不幸的是Opera和Safari都没有实现这一点.

javascript pageload

180
推荐指数
6
解决办法
18万
查看次数

在浏览器中检测后退按钮

我必须检测用户是否点击了后退按钮.为此,我正在使用

window.onbeforeunload = function (e) {
}
Run Code Online (Sandbox Code Playgroud)

如果用户单击后退按钮,它可以工作.但是,如果用户单击F5或重新加载浏览器按钮,也会触发此事件.我该如何解决?

javascript jquery

73
推荐指数
5
解决办法
28万
查看次数

如何在使用浏览器后退按钮时强制重新加载页面?

我需要以某种方式检测用户是否已按下浏览器后退按钮并使用jquery重新加载页面并刷新(重新加载内容和CSS).

如何通过jquery检测这样的动作?

因为如果我在浏览器中使用后退按钮,所以现在不会重新加载某些元素.但是,如果我在网站中使用链接,则所有内容都会刷新并正确显示.

重要!

有些人可能误解了我想要的东西.我不想刷新当前页面.我想按下后退按钮后刷新加载的页面.这是我更详细的意思:

  1. 用户正在访问page1.
  2. 而在第1页 - 他点击了第2页的链接.
  3. 他被重定向到page2
  4. 现在(重要的一部分!)他点击浏览器中的后退按钮,因为他想回到page1
  5. 他回到了第1页 - 现在正在重新加载page1并且会收到类似"你回来了!"的警告.

javascript browser jquery browser-cache page-refresh

53
推荐指数
8
解决办法
7万
查看次数

有没有办法使用Jquery来检测跨浏览器按下的后退按钮

我有一个幻灯片放映的网站,当用户按下后退按钮时,我希望它返回到相册视图而不是之前和阻止页面.有办法做到这一点吗?感谢您的帮助或建议.

javascript jquery

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

返回上一页时,音频文件会自动播放

我有可以在我网站上的投资组合区域播放的音频/视频.如果我播放其中一个,然后转到上一页,然后使用浏览器的下一个按钮返回我的页面,即使我没有点击任何内容,音频也会自动播放.如果我播放视频或音频,单击以访问其他页面,然后单击浏览器的上一页按钮,则会出现完全相同的行为.

我怎么能阻止这个?

这是一些代码:

<iframe class="ms-slide-video" src="about:blank" allowfullscreen="true" style="width: 100%; height: 100%; display: none;"></iframe>
Run Code Online (Sandbox Code Playgroud)

变换为:

<iframe class="ms-slide-video" src="/dacontent/video/mp4/2205.mp4?&amp;autoplay=1" allowfullscreen="true" style="width: 100%; height: 100%; display: block; opacity: 1;"></iframe>
Run Code Online (Sandbox Code Playgroud)

当我点击播放时.

但是当bug发生时,iframe的src保持"about:blank".

以下是iframe内容:

<html>
<head>
<meta name="viewport" content="width=device-width">
</head>
<body>
<video controls="" autoplay="" name="media">
<source src="http://www.kang.fr/dacontent/video/mp4/2205.mp4?&amp;autoplay=1" type="video/mp4"></video>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我发现并尝试在源的src属性中删除"&autoplay = 1",但没有成功.但是无法找到如何更改视频的自动播放属性.

javascript audio iframe jquery

9
推荐指数
1
解决办法
374
查看次数

如何使用JavaScript加载页面而不是重定向?

我正在尝试做的最好的例子是YouTube的导航系统.如果单击指向视频的链接,则会在页面顶部显示一个红色条,指示已加载所请求页面的数量.当请求的页面加载完成后,它会立即替换上一页的内容,并开始加载视频.有几件事情正在发生,以使其尽可能无缝.

  • 修改URL以匹配新页面.
  • 没有重定向(这很难解释).
  • 新页面将添加到历史记录中.
  • Back and Forth导航无缝地工作.

我修改了URL:

window.history.pushState("object or string", "Title", "/new-url");
Run Code Online (Sandbox Code Playgroud)

我试图加载请求的页面:

$.("html").load("newPage.php", function(){});
Run Code Online (Sandbox Code Playgroud)

这将使用新页面代码替换整个上一页的代码.这有几个问题:

  • 来回导航与URL一起使用,但事件处理程序必须检测到这一点并加载正确的页面.我用过这个:

    $(window).on('popstate', function() {
        $('html').load("../"+window.location.pathname, {page:"account"});
    });
    
    Run Code Online (Sandbox Code Playgroud)
  • 使用$.load()不能(不应该)加载任何新的脚本标签脚本标签,因为Synchronous XMLHttpRequest on the main thread is deprecated

我希望能做什么:

  • 使用JQuery和AJAX无需重定向无缝加载页面
  • 让新页面能够拥有新的脚本和PHP标记(PHP可能是不可能的,我可能必须使用AJAX来复制它).

资料来源:

使用新URL更新地址栏,不使用哈希或重新加载页面

使用jQuery将HTML页面动态加载到div中

JS或Jquery浏览器后退按钮点击检测器

不推荐在主线程上使用同步XMLHttpRequest

javascript php ajax jquery html5

8
推荐指数
1
解决办法
607
查看次数

如何在单击浏览器后退按钮时调用事件

单击浏览器后退按钮时如何调用jquery事件.我在asp.net mvc中使用单页应用程序,我想在用户按下浏览器的后退按钮时显示一个确认框离开屏幕.如何在浏览器后退按钮上调用jquery函数.请帮忙.我已经搜索并发现推送状态事件,但我没有得到如何在我上面描述的情况下使用它.

jquery

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