我們使用承諾lib Q,我們遇到以下問題。 window.open() is blocked by browser when is called from promise承諾內打開的窗口
我們試圖打開窗戶的承諾機制啓動前,這是工作,但問題是,當一個新的標籤頁打開(並獲得focues)所有的瀏覽器資源指的是新的標籤,邏輯仍然在第一個選項卡中完成,從而導致性能不佳。
還有其他的方式來與事件可能處理這個問題時,承諾完成,然後抓住這個事件,並打開新的窗口。
更新
這是什麼意思「所有的瀏覽器資源是指新標籤」 我們發現有趣的現象:) 我們正在運行的應用程序時對按鈕的用戶點擊,在這種情況下,我們打開新選項卡,焦點更改爲新選項卡,我們正在等待應用程序啓動,這需要大約15秒(直到應用程序實際運行)。 我們做了以下測試(這是VERT有意思:)),當我們點擊運行應用程序和新標籤打開是我們立即單擊後退到第一個選項卡(其中有按鈕),並通過該做的時間減少到4.5秒!!!!似乎焦點改變了瀏覽器處理資源的方式。
IM尋找其他的解決方案!
「所有的瀏覽器資源都是指新標籤」是什麼意思? – jfriend00
@ jfriend00 - 它太長了:)請看我的更新,你有什麼想法以及我們如何克服它? –
如果沒有看到相關代碼,我們無法幫助您解決代碼問題。你期望我們猜測代碼是什麼嗎?一個瘋狂的猜測是後臺窗口中的Javascript計時器變慢,而前臺窗口計時器全速運行。但是,由於我不知道你的代碼是做什麼的,我不知道這是否甚至是相關的。 – jfriend00