标题很奇怪,但我会尽可能地解释这种情况。
我有一个带有导航栏的网站,每个标签都是一个不同的php文件。对于所有文件,我有一个常见的js和css文件。目录树是:
function showSensorNames(){ $('.this_row').each(function(){ saveNames.push($(this).find('.btn_view').text()); }); }
当我在tab2上并尝试从tab1获取课程时出现问题。类“this_row”仅在tab1中,如果我在tab2中,则值不会得到。如果我在tab2中使用此类绘制div,则一切正常。
$(document).ready(function(){
此功能从./tests
我不知道是否有任何方法可以执行此操作,可能通过所有文件执行全局功能,或者如果我为每个选项卡创建不同文件的方式是错误的。我还考虑过保存到cookie或会话中,但我不认为这是最合适的方法。
更新 是否有任何方式选项卡不是不同的文件?有没有很好的教程来做到这一点?然后才会被认可
答案 0 :(得分:1)
如果您必须使用2个文件并且必须在它们之间共享数据,则可以使用sessionStorage。
设置
时sessionStorage.setItem('key','value');
当你得到
sessionStorage.getItem('key');
注意:关闭浏览器时数据将被清除。
答案 1 :(得分:1)
由于您为每个选项卡使用PHP文档,因此每次单击导航中的链接时,您实际上都在重新加载页面(或新页面)。 JS转储您在重新加载时创建和存储的任何var或对象。如果您希望能够将JS数据传递到新页面 - 使用HTML5 LocalStorage存储var将是一个选项。
// Store
localStorage.setItem("color", "blue");
// Retrieve
var retrievable = localStorage.getItem("color");
如果您只想在该会话期间存储数据,也可以使用sessionStorage。