訪問 Deeplink url 和直接訪問 localhost:8100 的結果不同?

最近想把 ionic3 + p5js 的麥克風範例接載一起,但遇到一個很奇怪的問題

我使用的是 ionic + lazyloading + deeplink page

當我直接 ionic serve,進入 localhost:8100,沒有 Error 但就是無法呈現麥克風有聲音的顯示畫面,但如果我直接進入deeplink的頁面 localhost:8100/#/deep-mic/anyidxxx,或是按下Refresh,就可以Work

完全想不到要怎麼Debug,從deeplink網頁進入和localhost:8100會有什麼不同嗎?

附上操作影片及github


花了一天終於收斂問題了

問題是
Q. WebAudio 直接訪問url的時候,沒辦法取得麥克風的聲音資訊,但重新整理後就可以?

Ans:
WebAudio的Api有限制,無法在使用者尚未跟你的網頁有互動時,就讓你取得麥克風的資料,所以就算call了Api也沒有用。

所以其實跟 ionic, angular, lazyload都沒有關係
但一開始太發散了,才想說看有沒有機會討論然後收斂一下問題的範圍。