2011-06-17 83 views
1

我與C#.NET工作:mshtml.HTMLDocument,mshtml.HTMLImg等使用MSHTML HTMLDocument的修改DOM和IE瀏覽器擴展顯示/ BHO

我試圖做的是修改DOM並反映瀏覽器的變化。例如

  HTMLDocument doc = WebBrowser.Document as HTMLDocument; 
      HTMLImg img; 
      for (int i = 0; i < doc.images.length; i++) 
      { 
       img = doc.images.item(i) as HTMLImg; 
       ProcessImg(ref img);     
      } 

不幸的是,處理/修改後的圖像沒有顯示在瀏覽器中。我想我需要在本地保存圖像並更改IMG標籤的src屬性。但除了沒有成功(請幫助!)這樣做,我擔心它不會被顯示。如何告訴瀏覽器更新(如果有必要)

乾杯,鄉親們! Bert 你會採取什麼方法?

+0

你能指定'可靠性原因' – 2011-06-24 03:56:27

回答

1

正確,您無法在不更改SRC屬性的情況下更改現有圖像。你應該分享你的非工作代碼,以供人們看到。

請注意,出於性能和可靠性原因,強烈建議不要在IE中爲IE編寫瀏覽器擴展。

+1

爲什麼不鼓勵? – Bertram 2011-06-19 20:15:35

+0

如何刷新瀏覽器以顯示修改的SRC屬性? – Bertram 2011-06-19 20:32:51

0

檢查this link了,它絕對可以修改顯示的頁面,因爲我正在使用我正在使用的插件進行操作。

基本上類實現了IObjectWithSite和IOleCommandTarget,前者允許您的代碼訂閱瀏覽操作,後者則連接UI操作。示例鏈接中的代碼設置/清除要修改的實際文檔的HTMLDocument。

編輯: 我認爲,儘管外表HTMLDocument的並不在MSHTML命名空間,但實際上在System.Windows.Forms的。 R#否則會這樣說,但整個mshtml命名空間感覺就像是一個間接的錯誤操作,通過重定向和消化不良被扔進了一個很好的方法。

相關問題