export default { /** * 向主页面传递参数 * @param {String} message * @param {String} key */ emitParentMessage(key, message) { window.parent.postMessage({ [key]: message }, '*') }, /** * 向子页面传递参数 * @param {String} message * @param {String} key */ emitChildrenMessage(key, message, index) { window.frames[index].postMessage({ [key]: message }, '*') }, /** * 监听获取参数 * @returns {callback} */ onMessage(key, callback) { window.addEventListener( 'message', function(e) { if (key && e.data[key]) { callback(e.data) } }, false ) }, /** * 判断 是否被 ifame 嵌套 * true 表示未被嵌套, false 表示已被嵌套 * @returns {boolean} */ isWithinOrOuter() { return window.self === window.top } }