Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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
Php 需要一种在页面刷新后返回滚动窗口位置的方法吗_Php_Javascript_Zend Framework_Window_Scroll - Fatal编程技术网

Php 需要一种在页面刷新后返回滚动窗口位置的方法吗

Php 需要一种在页面刷新后返回滚动窗口位置的方法吗,php,javascript,zend-framework,window,scroll,Php,Javascript,Zend Framework,Window,Scroll,我正在用PHP/Zend框架和Facebook JavaScript编写一个游戏。游戏板显示在滚动窗口中。要查看整个游戏板,用户必须四处滚动。游戏的每一步都会导致页面刷新,因此当用户转到另一步时,他们的滚动位置将丢失,窗口将返回到默认位置。我想知道是否有一种方法可以自动让滚动窗口返回到页面刷新之前的位置,这样用户就不必滚动到原来的位置了?谢谢 如果您正在创建一个基于链接的游戏,我会使用AJAX将您的点击数据发送到服务器,进行处理,然后将其返回给用户,而无需刷新页面 这将避免您必须使用JS在页面上

我正在用PHP/Zend框架和Facebook JavaScript编写一个游戏。游戏板显示在滚动窗口中。要查看整个游戏板,用户必须四处滚动。游戏的每一步都会导致页面刷新,因此当用户转到另一步时,他们的滚动位置将丢失,窗口将返回到默认位置。我想知道是否有一种方法可以自动让滚动窗口返回到页面刷新之前的位置,这样用户就不必滚动到原来的位置了?谢谢

如果您正在创建一个基于链接的游戏,我会使用AJAX将您的点击数据发送到服务器,进行处理,然后将其返回给用户,而无需刷新页面


这将避免您必须使用JS在页面上滚动,也会让用户更快、更愉快地玩游戏。

将位置保存在Window.name或cookie的onunload中(或每次滚动事件之后),然后在页面加载时滚动到该点。

但是,Ajax解决方案是一种更好的方法

使用
并刷新到
gamePage.html#game

,但这需要在我假设的“平铺”游戏板上的每个可点击元素中添加一个锚。这将是一个很大的锚。PHP可以在所需的位置添加一个锚。不…锚应该在每次滚动事件后创建。听起来很头痛,我不认为你可以在不刷新页面的情况下更改页面的url。你可以在不刷新的情况下重新加载页面的内容,这就是AJAX的用武之地。说真的,克里斯,如果你想让你的用户开心,AJAX是唯一的出路我听到了,我完全同意。问题是我对AJAX真的很陌生。我的应用程序中有一些AJAX代码,但是用AJAX编写整个应用程序似乎会导致这个庞大的前端应用程序频繁地进行后端调用。我熟悉在Zend Framework中组织我的应用程序,但我不知道如何组织这样一个大型前端应用程序,因此我坚持我所知道的。我尝试了这个解决方案,但我无法让它工作,因为我使用的是Facebook JS,而且我没有访问标签的权限,所以我无法实现onload/onunload。我找到了一个用于onload的解决方案,但不适用于onnload。我尝试使用setInterval()将cookie更新为当前滚动位置,但随后我还发现FB禁用了对cookie的访问):Ajax将涉及重新编写我的大部分应用程序,我根本没有时间。我确实考虑过使用StTimeValk()和Ajax调用来将滚动COORDS发送到后端,每隔几秒钟左右。这看起来……每1-5秒从每个用户那里获得这些ajax调用会让服务器不知所措吗?这真的取决于服务器……您可以在脚本标记中动态地向主体添加事件。行中的某物:body.onload=f//f是一个函数。当然,您需要找出正确的语法。