好像很多朋友都沒有理解我的意思。。。其實我問的是關于executeScript的兩個問題。因為executeScript有一個code參數和一個file參數,code是在當前頁的js文件直接運行一段代碼;而file是注入一個新的js文件,也就是我標題的意思。1、chrome.tabs.executeScript(tb[0].id,{code:"abc(3)"},null);……function abc(num){alert(num)}這屬于直接用code來在當前js文件運行一段代碼,按照我的期望,它應該運行成功后就彈出窗口上面寫個3,。但實際上它沒有任何反映。我就很奇怪,code不是執行一段代碼嗎?為什么我不能執行同在a.js下的一個函數?莫非abc(3)這不能算代碼嗎?2、chrome.tabs.executeScript(tb[0].id,{file:"b.js"},null);這是我在標題問的問題。我在a.js中運行了以上代碼,在一個tb[0]的tab插入b.js。而在b.js中計算出了一個變量值(假設為v),那么我如何將v傳到a.js呢?要知道這個file:"b.js"僅僅只是注入了一段代碼,可它并沒有辦法傳值到b.js上。運用全局變量固然是個辦法,可不到萬不得已的時候,我不太想用,不知道大家有沒有其他的解決辦法。
a.js中executeScript給某tab注入b.js,b.js計算完的值怎么傳回a.js中?
慕村225694
2018-07-19 17:18:48