我发现很多关于window.postMessage和iframe的内容,跨域iframe通信似乎过时了。
对于现代浏览器> = IE9 ..看起来像vanilla js window.postMessage就足够了。使用像easyXDM或其他更大的软件包。
http://caniuse.com/#search=postMessage
我错过了什么?
答案 0 :(得分:0)
它主要是一个安全问题:
任何窗口(例如,包括http://evil.example.com)都可以向任何其他窗口发送消息,并且您无法保证未知发件人不会发送恶意消息。但是,在验证了身份后,您仍应始终验证收到的消息的语法。否则,您信任的仅发送受信任邮件的站点中的安全漏洞可能会在您的站点中打开跨站点脚本漏洞。
接下来,如果您使用postMessage发送信息,那么您可以打开被恶意网站拦截的数据:
恶意网站可以在您不知情的情况下更改窗口的位置,因此它可以拦截使用postMessage发送的数据。
此外,传输参数虽然是可选的,但并非所有浏览器都是标准的:
dates <- data.frame(dates = c("5.1.2015", "6.1.2014", "17.2.2014", "28.10.2014"))
dates$dates_new <- as.Date(dates$dates, format = "%d.%m.%Y")
dates
# dates dates_new
# 1 5.1.2015 2015-01-05
# 2 6.1.2014 2014-01-06
# 3 17.2.2014 2014-02-17
# 4 28.10.2014 2014-10-28