众所周知,微信小程序的js中不能使用 window对象 以及 document对象 。
难道他们真的不存在吗?事实并非如此。
熟悉this的同学都知道,在浏览器环境下,触发一个立即执行函数时,其中this的指向往往都是window对象。
这段js在小程序中是同样有效的,祥姿所以window对象确实存在。
window对象中包含了很多对象,如wx、Page、Component、Behavior等变量,你可以试试看。
不过在严格模式下,this就指向了undefined。而且es6转es5时也默亮局认开启了严格模式。
如果你想尝试,首先你需要在微信开发工具中选择右上角的 详情-项目设置 取消选中ES6转ES5即可
获取到了window对象,我们就可以获取其他全局变量
当我们js报错时,其路由前面部分是一样的。
在控制台中,我们可以看到微信小程序的html部分的源码。
在实际开发中我们可以利用这个方法,把一些全局方法给转移或清除掉,比如alert。
1、非严格模式下,可以获取window对象。
2、可以在window中扩展自己的全局变量,当然并不推荐这样做。
3、各种你能想到的敬宴让 *** 作...
此文仅供交流,如有不当,请指正。
小程序不允许引用外答袜蔽部实体,不能1.小好滑程清州序不能添加外部链接的。所有A标签的href是无效的。
2.Window 对象不能使用 所以 Window. location .href 也是无效。
3.window .open 同理
一、在 app.json 的 window 对象中定义导航的样式:这样你会发现所有页面的导航栏都不见了。如果还有其他页面需要导航栏的,那就模仿小程序的导航栏按照以下步骤。
二、首先要在 app.js 的 onLaunch 方法里面获取手机状态栏高度,全局定义导航高度 navHeight :
注意!!!全局定义导航高度 navHeight !!!
我发现很多人会遇到 navHeight 是 undefined 这个问题。在这里说明一下,这个 navHeight 需要在 app.json 里面定义好:
三、在需要导航的 页面 Page 拿到全局变量导航高度:
四、页面展示:
五、附上样式,可以写在 app.wxss :
六、界面效果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)