2012-08-28 37 views
1

我最近更改gwt.xml腳本,只編譯1個排列(ie8只),這解決了我以前的問題,但是有一個整形問題出現,這是一個惱人的彈出窗口顯示每次打開我的GWT頁面與IE8GWT運行時UserAgent和編譯時UserAgent不匹配

在這裏我包括屏幕截圖顯示彈出窗口,任何幫助擺脫它將不勝感激。 enter image description here

更新:按照托馬斯的建議,我已經能夠通過編譯爲ie8和Safari瀏覽器擺脫該消息。然而從那以後我只能用我的IE9在IE9文檔模式下打開網頁無法與IE8的模式,我的用戶在使用IE8

下面是gwt.xml代碼片段

<set-property name="user.agent" value="ie8"/> 
<extend-property name="user.agent" values="safari" /> 
下面

是GWT開發日誌顯示異常,用戶代理'Mozilla/4.0'確實讓我困惑,因爲我確實安裝了Firefox 14.0.1。

11:12:17.143 [ERROR] [dca] Failed to load module 'dca' from user agent 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E; MS-RTC LM 8)' at 127.0.0.1:51883 

我還發現有針對IE瀏覽器谷歌瀏覽器框架插件,但是因爲它是公司默認設置,這將是我的最後一招。

好的,這裏是我的最終更新,在默認的GWT覆蓋6個排列包括IE8,但是我的IE有Chromn Frame,它掩蓋我的瀏覽器到safari,IE8和更舊的瀏覽器不支持「AddEventListener」方法,這是大多數GWT小部件依賴於。因此,我的IE8瀏覽器的gwt使用safari實現會在網頁初始化時發生故障,說明對象不支持AddEventListener方法。

我第一次嘗試設置GWT只編譯IE8,然而,這產生上面顯示的惱人的彈出,

第二次嘗試設置GWT編譯雙方IE8和Safari瀏覽器,再此故障的addEventListener方法

一次嘗試是利用瀏覽器內嵌框架,並設置

 <meta equiv="X-UA-Compatible" content="chrome=1"> 

使用Chrome的引擎,而不是IE引擎,它並沒有做太多對我來說,同樣的故事,這讓IE瀏覽器與Chrome Frame的手柄網頁。

我的最終解決方案是讓GWT默認編譯6個排列並禁用Chrome Frame,這是公司範圍內的默認插件,但如果用戶想要插件,那麼他們應該真的獲得實際的Chrome瀏覽器讓自然選擇發揮其魔力。

回答

2

GWT認爲您的IE8是safari,您可能已安裝Google Chrome瀏覽器框架,並且您的頁面或服務器會發送the appropriate bits來激活它。

所以,要麼:

  • 確保你的頁面/服務器不嘗試啓用Chrome Frame的客戶
  • 上編譯IE8 野生動物園(2個排列):<set-property name="user.agent" value="ie8,safari" />
  • 卸載Chrome Frame
  • 或者如果只是在開發/測試您的應用程序時加快迭代速度,只編譯safari排列
+0

嘿托馬斯,thx的幫助,請參閱我的更新 –

+0

'擴展屬性'不會做你認爲它的確如此。看到我更新的答案。 –

+0

我的問題解決了,非常感謝,臨時禁用Chrome Frame到底 –