背景:我正在通過VWO對網站進行A/B測試。我可以編寫一個在頁面加載時運行的腳本,但我不能訪問任何網站的預先存在的腳本,也不能以任何方式改變它們的代碼,除了在JS中「覆蓋」(例如移除div,更改CSS屬性,附加div)之外頁面加載。第一個函數完成時執行第二個函數W/O回調參數
問題:頁面加載時,有一個空的<div id="priceinfo"></div>
。在頁面的其他地方,有一個<a href="javascript:RequestPriceInfo()" id="requestPrice"><img ...></a>
。在RequestPriceInfo()
內部,該功能根據頁面上的某些表單字段值將HTML輸出到div#priceinfo
。它還附加一個「訂單」按鈕(實際上它不是一個按鈕,而是嵌套在錨標籤中的圖像)。我試圖使用JQuery的attr()
函數更改「按鈕」圖像的源代碼。
進度:無。我嘗試過使用$('a#requestPrice').click(function() {...});
,但它不能改變圖像的來源,我推測因爲當點擊a#requestPrice
並且我的函數運行時,內容還沒有立即加載到頁面上。我需要一種方法來告訴RequestPriceInfo()
何時被觸發並完成,但RequestPriceInfo()
上沒有回調參數,我無法訪問腳本來修改它並添加一個。
潛在有用信息:有一個變量priceRequested
,它在RequestPriceInfo()
運行時從false更改爲true。雖然我沒有意識到這個解決方案將會很優雅,但使用Object.prototype.watch()
來監控這個變量似乎不合理,但我已經沒有想法。
如何檢測RequestPriceInfo()
何時完成執行我的功能而不編輯添加回調參數的功能?
RequestPriceInfo()是做什麼的?這是一個Ajax電話嗎?攔截AJAX調用 – charlietfl