84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
如题,我有a和b两个页面,且同源,在a页面我有个按钮打开b页面,那么我在a页面的js能直接获取b页面的元素的值吗?
光阴似箭催人老,日月如移越少年。
建议异步地使用 window.postMessage() API,在需要获取元素数据的时候,po 个消息过去,然后再由 b 页面 po 个消息回来。
参见:https://developer.mozilla.org...
不过需要考虑兼容性问题:IE8、IE9 仅限于 frame 和 iframe,IE10 有些特殊限制。
另外,如果是从 a 页面打开的 b 页面且域名相同的话,是可以用
var b = open('b'); b.document.getElementById('abc')
来访问 id 为 abc 的元素的。
localStorage可以用吗?探讨一下,我觉得可以但是没试过。
不能,需要b页面引入相应的js
可以,就是有点复杂,想不到更好的方法借助后台+Socket.IO就能实现你的需求首先a页面连接上后台建立双向通信机制按钮打开b页面的时候也向后台建立通信机制,在b页面中获取元素的值推送后台,再由后台推送a页面
你的意思是有两个tab标签页,要这两个页面建立双向通信?我的理解不知道是不是对的哈。
方法太多了。在同一个浏览器里面,可以用cookie / localStorage(推荐) / sessionStorage 等常见浏览器储存缓存可选。
如果在不同浏览器,就只有借助后端的力量了,比如webSocket / ajax轮询。
最符合你描述的有一个前端工具,叫browsersync,它是用socket.io实现的
http://www.zhangxinxu.com/wor...看看这个方法对你有帮助吗,这个visibilitychange配合cookie或者localStorage
可以试试angularjs框架,用ng-model指令进行数据绑定,在控制器里进行数据传递
建议异步地使用 window.postMessage() API,在需要获取元素数据的时候,po 个消息过去,然后再由 b 页面 po 个消息回来。
参见:https://developer.mozilla.org...
不过需要考虑兼容性问题:IE8、IE9 仅限于 frame 和 iframe,IE10 有些特殊限制。
另外,如果是从 a 页面打开的 b 页面且域名相同的话,是可以用
来访问 id 为 abc 的元素的。
localStorage可以用吗?探讨一下,我觉得可以但是没试过。
不能,需要b页面引入相应的js
可以,就是有点复杂,想不到更好的方法
借助后台+Socket.IO就能实现你的需求
首先a页面连接上后台建立双向通信机制
按钮打开b页面的时候也向后台建立通信机制,在b页面中获取元素的值推送后台,再由后台推送a页面
你的意思是有两个tab标签页,要这两个页面建立双向通信?
我的理解不知道是不是对的哈。
方法太多了。
在同一个浏览器里面,可以用cookie / localStorage(推荐) / sessionStorage 等常见浏览器储存缓存可选。
如果在不同浏览器,就只有借助后端的力量了,比如webSocket / ajax轮询。
最符合你描述的有一个前端工具,叫browsersync,它是用socket.io实现的
http://www.zhangxinxu.com/wor...
看看这个方法对你有帮助吗,这个visibilitychange配合cookie或者localStorage
可以试试angularjs框架,用ng-model指令进行数据绑定,在控制器里进行数据传递