鍍金池/ 問答/HTML/ 一個頁面如何獲得一個被另一個頁面修改的js文件里的變量值?

一個頁面如何獲得一個被另一個頁面修改的js文件里的變量值?

1.有一個data.js文件,只定義了一個變量 var project={}
2.a.html引用data.js <script src="../js/data.js"></script>,在a.html里有一函數(shù)從服務器獲得返回值并賦值給data.js中的變量project

       browse:function (pro) {
            project=pro;//a.html未定義porject,在此編譯器也提示此為data.js的project
            console.log(pro);
            console.log(project);
            window.open('test.html');
        },
     

控制臺打印,pro,project,有值且相等。
3.test.html同樣引用了data.js <script src="../js/data.js"></script>,在a.html中跳轉(zhuǎn)到test.html,test.html打印project卻為空,怎么解決?

clipboard.png

回答
編輯回答
生性

單從表面來看,就好比我在京東把商品加到了購物車,之后打開淘寶,發(fā)現(xiàn)怎么購物車里沒有剛才的物品是一樣的道理,兩個可以說算是完全獨立的頁面怎么能直接這樣共享數(shù)據(jù)呢?

我看題主的題目標簽中有vue,可以使用組件傳值、vuex、Bus(new Vue)等等來傳遞或者共享數(shù)據(jù),也可以存在本地,根據(jù)需求選擇cookiesessionStroage或者localStroage皆可,方式方法有很多!
2017年10月23日 18:41
編輯回答
冷眸

用localstronge來解決

2017年3月16日 23:32
編輯回答
紓惘

至少有3種方式
1.存cookie
2.存localStorage
3.先保存在服務器session中再從里面取

2018年8月13日 06:59
編輯回答
耍太極
// 如果 pro是個對象的話
// a.html
window.localStorage.setItem('data',JSON.stringify(pro))

// test.html
var data = JSON.parse(window.localStorage.getItem('data'))

至于你的問題 @luozz 舉得例子已經(jīng)說的很詳細了

2018年7月20日 11:36