亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

兩個iframe之間如何傳數據

小億
310
2024-01-19 18:24:49
欄目: 編程語言

兩個iframe之間可以通過以下幾種方式傳遞數據:

  1. 使用postMessage方法:使用postMessage方法可以在不同的iframe之間安全地傳遞數據。一個iframe可以使用postMessage方法將數據發送給另一個iframe,然后另一個iframe監聽并接收數據。可以通過以下代碼在iframe A中發送數據給iframe B:

    // 在iframe A中發送數據給iframe B
    var targetIframe = document.getElementById('iframeB');
    targetIframe.contentWindow.postMessage('Hello from iframe A!', '*');
    

    然后在iframe B中監聽并接收數據:

    // 在iframe B中監聽并接收數據
    window.addEventListener('message', function(event) {
      if (event.origin !== 'http://iframeA.com') return; // 驗證消息來源
      console.log('Received data from iframe A: ', event.data);
    });
    

    在接收消息的iframe中可以通過event.data獲取發送的數據。

  2. 使用localStorage:localStorage是瀏覽器提供的一種存儲數據的機制,可以在不同的iframe之間共享數據。一個iframe可以將數據存儲在localStorage中,然后另一個iframe可以讀取這些數據。可以通過以下代碼在iframe A中存儲數據:

    // 在iframe A中存儲數據
    localStorage.setItem('data', 'Hello from iframe A!');
    

    然后在iframe B中讀取這些數據:

    // 在iframe B中讀取數據
    var data = localStorage.getItem('data');
    console.log('Received data from iframe A: ', data);
    

    請注意,在使用localStorage時需要注意數據的安全性和正確的清理機制。

  3. 使用window.parent對象:如果兩個iframe處于同源(即來自同一個域名),可以使用window.parent對象直接訪問父窗口的全局變量和方法。一個iframe可以通過window.parent對象設置父窗口的變量,然后另一個iframe可以直接讀取這些變量。請注意,這種方法要求兩個iframe來自同一個域名。

    在iframe A中設置父窗口的變量:

    // 在iframe A中設置父窗口的變量
    window.parent.myData = 'Hello from iframe A!';
    

    然后在iframe B中讀取這個變量:

    // 在iframe B中讀取父窗口的變量
    var data = window.parent.myData;
    console.log('Received data from iframe A: ', data);
    

    請注意,這種方法只適用于同源的iframe之間,并且可能會導致全局變量的命名沖突問題。

這些方法可以根據實際情況選擇適合的方式傳遞數據。

0
贵州省| 定结县| 宜春市| 榕江县| 霸州市| 安达市| 临夏县| 兴仁县| 巢湖市| 军事| 武陟县| 利辛县| 新和县| 双辽市| 泰兴市| 炎陵县| 乌鲁木齐县| 阜阳市| 麟游县| 山阴县| 中山市| 福鼎市| 枞阳县| 石台县| 泰顺县| 兴安盟| 隆德县| 常州市| 临城县| 西乌| 阳江市| 溧水县| 保定市| 临颍县| 岢岚县| 广西| 安阳市| 阿拉善盟| 北流市| 开江县| 平陆县|