我创建了一个图像滑块。此滑块出现在我网站的每个页面上。点击事件与图像滑块中的每个图像相关联。在点击任何图像时,存在存储与该图像相关联的数据的变量(例如艺术家姓名等,并隐藏这些字段)。
点击任何图片后,页面会被重定向到另一个页面,比如艺术家页面。在艺术家页面中,显示存储的数据。图像滑块也出现在艺术家页面中。
现在,问题是当我来到艺术家页面时,变量没有显示,因为js文件再次重新加载而且所有数据都丢失了。两个页面的Javascript文件都是相同的。事实上,我网站中的所有页面都应使用相同的js文件。但是,如果我点击任何图像,则在艺术家页面中显示数据。我希望数据必须保留并显示,即使它被重定向到艺术家页面。
我尝试过ready()事件,但没有帮助。怎么做?
P.S。该网站使用Drupal 7
创建答案 0 :(得分:1)
我假设您的数据未在服务器端处理。每次页面访问都不会保留JavaScript变量数据。每页都是一个新的开始。
你应该使用cookies这个。 jQuery也有cookies插件,但我还没试过(尝试问谷歌)。另一种方法是使用HTML 5 Web storage但请注意它是HTML5,这是一个非常新的功能。
基本上你想做的是:
答案 1 :(得分:0)
你不能直接。每次加载页面时都会清除Javascript状态。
选择是:
答案 2 :(得分:0)
有很多方法可以实现这一点,但是,在您的情况下,一种更简单的方法可能是简单地重新检索数据。第一页如何检索变量?您是否正在使用Drupal的模板引擎将它们传递给客户端?它是通过AJAX获取原始的javascript数据吗?
如果前者为真,您可能需要修改Drupal中的模板渲染挂钩,以与第一页相同的方式获取数据,并将它们传递到新页面。
如果后者是真的,只需使用jQuery的onReady重新请求数据,如上所述。您可能仍然需要使用Drupal模块将数据公开为您的jQuery要获取的Web服务,或者您可以编写自己的php页面/ drupal模块以使用drupal的数据库抽象手动从数据库中获取数据。