[問題] 同時使用jQuery UI與Google Map API (렠…

看板Ajax作者 (還在想)時間14年前 (2009/10/20 18:57), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
才剛問就在英文討論區看到解答了XD 順便提供一下我看到的答案 或許能對後世有幫助....也不一定....? 討論區內容: ======================================================================= This is because you probably try to initialize a map in a hidden tab. You cannot properly initialize a map in hidden elements. Thus you need to use the off-left technique instead to hide inactive tab panels. In the style sheet search for the selector ".ui-tabs-hide" and change the declaration to: .ui-tabs-hide { position: absolute; left: -1000px; } --Klaus On Mar 18, 4:05 am, CodeOfficer <codeoffi...@gmail.com> wrote: ======================================================================= 反正大意就是 google map不同意在隱藏的區塊內進行地圖的init初始化 所以才會分別在不同的瀏覽器上出問題 應對方式就是更改jQuery UI Tabs的css設定 原本其設定不顯示的頁面是設成 display:none; 將它改成顯示,但定位方式是 positon: absolute; 而位置是網頁左邊界往前1000px的範圍 left:-1000px; 依照放置在tabs內的元素大小,可能還需要改left後的負數,免得露餡XD 這樣測試過後,就可以同時在IE跟FireFox上,在Tabs內顯示Google Map了 ※=========================================================== 因為需要使用Google Map的地圖資料、經緯度和住址等 所以引用了google map的API來用 在自己做的網頁上放上一塊區域提供給google map用 但是因為還需要做一些ajax效果 也需要做一些java script的選單等等 所以選用了jQuery這個framework 然後在外觀上使用了jQuery UI 像是tabs、blockUI 問題在此時發生 我在tabs內各別放上不同內容 而google map放在第二個tab內 也就是網頁的初始畫面上並不會出現google map 而要點選第二個tab之後,不換頁的顯示出google map 起初我是將google map另外做一個網頁 然後使用iframe放在tab2內 這麼做的話在IE可以顯示出來,可以運作 但在FireFox內只有顯示出放大縮小的圖示跟google的版權圖示 地圖本身、marker這些都無法顯示 而後來我將整個map以及在map上要做的事情這些剪下 直接在主網頁上引用gmap,而不再使用iframe 其結果是FireFox可以正常顯示了 但IE卻死的像之前的FireFox一樣 只有顯示那兩個圖示,而完全沒有正常顯示 以及作用地圖的功能 只差在FireFox死在gmap上時,圖示全都擠到地圖區域的上方邊界 換IE死在gmape上時,圖示則在它們應該在的位置 開始寫網頁沒有多久的經驗 不知道如何解決跨瀏覽器的問題 至少希望在這兩個瀏覽器上能正常運作 (我自己用火狐,而要給別人用時大概得用IE) 是不是應該要注意什麼,才能同時兩者都能在tab內顯示google map呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 192.192.154.54 ※ 編輯: Peruheru 來自: 192.192.154.54 (10/20 19:19)
文章代碼(AID): #1AtPUif3 (Ajax)