1. 程式人生 > >window實現跨頁面傳輸資料

window實現跨頁面傳輸資料

一般在js中定義變數的時候禁止使用name 作為屬性名 ,因為 我們可以使用window.name實現頁面的跨域傳輸

新建一個頁面非常簡單 ,用於提供資料

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script>
        window.name='var num = 100;';
    </script>
</body>
</html>

新建一個頁面 用於接收資料  註釋寫在頁面中 

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<button>點我</button>
    <script>
        //獲取另一個頁面的資料,則那個頁面必須被載入
        document.querySelector('button').onclick = function(eve){
            //定義iframe載入資料提供的頁面
            var iframe = document.createElement('iframe');
            iframe.src='anotherPage.html';
            iframe.style.display='none';
            document.body.appendChild(iframe);
            //載入成功後獲得資料
            iframe.onload = function (eve) {
                var e = eve||window.event;
                var t = e.target|| e.srcElement;
                var iframeWindowName =t.contentWindow.name;
                console.log(typeof iframeWindowName);
                eval(iframeWindowName);//將字串轉為程式碼
                console.log(num);
            }
        }
    </script>
</body>
</html>