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   };
  • 相关阅读:
    软件工程课堂二
    软件工程第二周总结
    软件工程第一周开课博客
    软件工程课堂一
    开学第一次考试感想
    以Function构造函数方式声明函数
    document.scrollingElement
    标识符
    变量声明语句的提升
    用that代替this
  • 原文地址:https://www.cnblogs.com/mabylove/p/9553952.html
Copyright © 2011-2022 走看看