zoukankan      html  css  js  c++  java
  • 前端一些不常用知识记录

    1. 获取用户进入当前标签页或者离开标签页事件

    document.addEventListener('visibilitychange', function() {
        if (!document.hidden) {
            console.log('你又进来啦?');
        } else {
            console.log('你要离开啦?');
        }
    })

    2. iframe实战,postMessage参数的传递

      a.  子页面向父页面传参
    // 子页面传递
    const parentWindow = window.parent.window;
    parentWindow.postMessage('success: child message!', '*');
    
    // 父页面接收
    window.addEventListener('message',function(response){
      const postData = response.data;
      console.log(postData, '<=== child msg'); // success: child message!
    });

      b.  父页面向子页面传参

     1 // 父页面传递
     2   const childAddress = 'http://127.0.0.1:8080';
     3   const iframe = document.getElementById('iframe');
     4   iframe.contentWindow.postMessage('success: parent message!', childAddress);
     5 
     6   // 子页面接收
     7   const parentAddress = 'http://128.0.0.1:8080';
     8   componentDidMount() {
     9     window.addEventListener('message', this.onListenerPostMessage);
    10   }
    11   componentWillUnmount() {
    12     window.removeEventListener('message', this.onListenerPostMessage);
    13   }
    14   
    15   onListenerPostMessage = (response) => {
    16     const postData = response.data;
    17     const origin = response.origin || response.originalEvent.origin;
    18     if (origin !== parentAddress) { // 过滤
    19       return;
    20     }
    21     console.log(postData, '<=== parent msg'); // success: parent message!
    22   };
  • 相关阅读:
    Log4Net二次封装
    jquery动态生成二维码添加自定义logo
    小程序map地图多点定位
    vue上传阿里云图片组件
    vue移动端地址三级联动组件(二)
    vue移动端地址三级联动组件(一)
    vue自定义轻量级form表单校验
    js中间件
    事件模型
    通过JS唤醒app(安卓+ios)
  • 原文地址:https://www.cnblogs.com/mabylove/p/9553952.html
Copyright © 2011-2022 走看看