随笔

随笔

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
  }
}