如题:
有两个html文件在同一文件夹下,他们共同调用一个album.js文件,文件中有几个全局变量。
遇到的问题:
我想在album.html中引入album.js的时候生成的几个变量能够继续在photos.html中使用,不需要再次发送请求。
album.html跳转到photos.html的时候是进行 <a> 标签跳转的!
尝试方法:
1.url传递参数-(这个太明显了,放弃)
2.jquery.cookie这个可行是可行,但是比较麻烦。
其他方法:
希望大牛解惑一二!
文件结构目录如图:![screenshot](https://oss-cn-hangzhou.aliyuncs.com/yqfiles/95345bb34fe5e6ab599a8eebd7febc31bb2072f5.png)
最原始的写法:
(function(global) {
var hello = 'abc';
global.hello = hello; // 将当前闭包内的某个变量绑定到全局环境
}) (this);
这里有一个知识点,就是:
传统浏览器中的javascript环境,全局对象的this默认绑定的是window实例,而全局环境的变量,默认会绑定到window对象上,也即成为window对象的属性。比如:
<html>
<head>
<script type="text/javascript">
var test = 'test';
</script>
</head>
<body>
<script type="text/javascript">
console.log(this.test); // test
console.log(window.test); // test
console.log(test); // test
</script>
</body>
</html>
所以综上所述:
// a.js
(function(global, config) {
console.log(config); // 输出全局环境定义的变量config
var hello = 'abc';
global.hello = hello; // 将当前闭包内的某个变量绑定到全局环境
}) (this, this.config || {});
在某个html页面中:
<html>
<head>
<script type="text/javascript">
var config = { a: 'a' };
</script>
<script type="text/javascript" src="a.js"></script>
</head>
<body>
<script type="text/javascript">
console.log(hello);
</script>
</body>
</html>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。