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