2 回答

TA貢獻1834條經(jīng)驗 獲得超8個贊
好的,這個答案不會是“復制、粘貼和播放”,它需要您進行一些調整,但我認為您會了解概念并進行管理。
無需添加依賴項管理模塊,無需重構代碼(通常純腳本標簽不會與 html 一起動態(tài)注入,原因與您現(xiàn)在遇到的問題相同。為第一頁加載帶有 html 的腳本標簽是個好主意加載,但以后添加的任何內容,特別是如果需要某些流程,都需要程序化處理,因此需要為較大的項目使用模塊管理框架)
一種方法是停止您的代碼執(zhí)行流程并輪詢環(huán)境以查看您的腳本是否已加載。IE:
var demoInterval = setInterval(function(){
if(myCondition){
clearInterval(demoInterval );
functionThatStartsTheRestOfTheLogicFlow(); // this could apply bindings etc etc
}
},50);
現(xiàn)在例如,如果您使用腳本標記加載 jQuery,您的條件可能是 typeof($) !== 'undefined' 它會每 50 毫秒輪詢一次,直到 $ 被定義,然后它會調用一個函數(shù)來清除輪詢和繼續(xù)你的邏輯流程。
在您的情況下,條件可能是函數(shù)/模型的定義,您的自定義 js 文件可以設置的類似標志的變量,并且輪詢希望在某個時候讀取等等。
更好的是從 html 中刪除腳本標記并通過 javascript 動態(tài)加載腳本,以便您可以利用所需的特定腳本的 onload 事件,您可以在此處閱讀示例。對于開發(fā)人員來說,以編程方式控制這些情況要容易得多。
希望這可以幫助
添加回答
舉報