2012-07-19 381 views
0

大家好我有一个js文件中定义的变量。现在从这个js文件我浏览页面到一个HTML文件,我想访问该HTML文件中的变量。我用了window.location为:使用window.location时变量undefined

window.location = "UI/demo/home.html"; 

但在Home.html中,当我试图访问它在js文件我变量未定义声明变量。如果我使用changePage而不是window.location,我得到了变量的值。为什么这样?任何建议将不胜感激。提前致谢。

+4

是HTML文件加载同一个js文件?当您导航到新页面时,Javascript的状态终止。如果您希望保留数据,则需要使用cookie,本地存储或传递查询变量。 – 2012-07-19 05:01:45

+0

你能提供更多的细节吗? – pagliuca 2012-07-19 05:04:03

+0

@MarcB是的,该文件正在加载相同的js文件。 – PPD 2012-07-19 05:04:39

回答

1

changePage更改页面的DOM,而无需重新加载加载的Javascript。 window.location更改浏览器本身的页面,重新加载所有内容,包括Javascript。

因此,虽然这两个似乎有相同的效果,changePage可能是你正在寻找的除了你想故意重新加载URL的情况下。

还要注意的是changePagereloadPage的说法,基本上做什么window.location会看上没有动画等

http://jquerymobile.com/test/docs/api/methods.html