84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
如题,我有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指令进行数据绑定,在控制器里进行数据传递