一、postMessage

注意:

  1. postMessage仅支持IE9、IE10、Google,其他浏览器没测过。
  2. 不支持360浏览器和win10 edge浏览器。
  3. 父窗口要在onload()函数中调用postMessage

1.基本使用

  1. // 父窗口
  2. <iframe src="kline.html" frameborder="0" width="100%" height="100%"></iframe>
  3. <script>
  4. window.onload = function(){
  5. let str = 'hello'
  6. window.frames[0].postMessage(str, '*')
  7. }
  8. </script>
  1. // 子窗口
  2. <script>
  3. window.addEventListener('message', (e)=> {
  4. console.log(e.data)
  5. })
  6. </script>

2.使用iframe src属性传值

适合要求兼容性的项目 不要写onload()函数里面,否则会有一次打印为空的情况

  1. // 父窗口
  2. <iframe src="kline.html"
  3. id="iframe"
  4. frameborder="0"
  5. width="100%"
  6. height="100%"
  7. scrolling="no"></iframe>
  8. <script>
  9. let str = 'usdt/btc'
  10. let frame = document.getElementById('iframe')
  11. frame.src = `kline.html?coin=${str}`
  12. </script>
  1. // 子窗口
  2. <script>
  3. var url = decodeURI(location.search)
  4. console.log(url)
  5. </script>

二、元素点击事件

  1. <p></p>
  2. // js
  3. document.getElementsByTagName('p')[0].onclick = function(){
  4. console.log('click')
  5. }
  6. // Jquery
  7. $('p').on('click', function(){
  8. console.log('click')
  9. })