2013-11-21 57 views
2

在FiddlerScript中工作時,我在OnBeforeResponse方法中進行了一些更改,該方法用於在不同的機器上工作(現在已經很久了),但現在不適用於我。我把它歸結爲以下基本示例。utilReplaceInResponse不顯示瀏覽器中的更改

在提琴手沙箱頁面,我想每個項目 URL的話一詞取代每件:從原來的修改http://webdbg.com/sandbox/shop/

提琴手腳本文件有兩個新的生產線。 1解碼會話,並按照我見過的所有示例以及過去爲我工作的內容在響應中替換1。

static function OnBeforeResponse(oSession: Session) { 
    oSession.utilDecodeResponse(); //Added this. 
    oSession.utilReplaceInResponse("per item", "per item"); //Added this 

    if (m_Hide304s && oSession.responseCode == 304) { 
     oSession["ui-hide"] = "true"; 
    } 
} 

保存上述fiddlerscript文件並刷新頁面後,我沒有看到替換顯示在瀏覽器中。如果我在提琴手檢查員看,我am看到替換。這意味着OnBeforeResponse確實在某個時候被調用,並且utilReplaceInResponse也在執行中。

其他古怪,如果我把斷點所有響應後(小提琴手 - >規則 - >自動斷點 - >後的數據),刷新頁面,響應到達斷點預期和我點擊運行結束和瀏覽器確實顯示的更換。所以:沒有斷點,頁面在渲染頁面中不顯示替換。通過斷點並簡單地運行完成,頁面確實會顯示替換。

爲什麼頁面不顯示瀏覽器中的更改,即使它在Fiddler檢查器中顯示它們,或者如果我設置了斷點?

。有主工具欄中選擇選項

解決方案 - 取消這和它的作品如預期。

環境:提琴手v2.4.5.3 - 64位AMD64,VM:114.00mb,WS:132.00mb .NET 2.0.50727.5472 WINNT 6.1.7601 SP1

看兩個IE9和Chrome31

回答

5

解決了我自己。

我在工具欄中啓用了Stream選項。 (Doh!)取消選擇,並且OnBeforeResponse中的替換按預期工作。

0

這可能是一個新的提琴手版本的功能,但我不得不添加以下行讓我查找/替換工作:

oSession.utilDecodeResponse(); 
相關問題