我做的Chrome應用,並且我面臨着一個問題:Chrome應用executeScript與setTimeout的回調而不是等待
我第一次在注射的<webview>
打開一個網站一個file.js
。
在這個file.js
我有一個函數,執行返回值包括在setTimeout
。
問題是當我使用executeScript
調用函數時,回調不會等待setTimeout
的結尾,並且返回null
。
有人可以告訴我我該怎麼辦?謝謝!
(無setTimeout
,它返回預期值)
//content of file.js
function foo(){
setTimeout(function(){ return {key:"value"}; }, 5000);
}
//I inject the file.js in the website
webview.executeScript({file:"file.js"}, function(result){ console.log(result); });
//I call foo() in the website
webview.executeScript({code:"foo();"}, function(result){ console.log(JSON.stringify(result)); });
如果您使用的是「」,那麼它必須是應用程序,而不是擴展。你可否確認? –
Xan
是的,它實際上是一個應用程序。 –