MozTW 討論區

各項 Mozilla 相關軟體與技術討論
現在的時間是 2025-08-22, 16:19

所有顯示的時間為 UTC + 8 小時





發表新文章 回覆主題  [ 4 篇文章 ] 
發表人 內容
文章發表於 : 2009-01-03, 22:55 
離線

註冊時間: 2002-10-20, 02:29
文章: 1497
台灣大哥大的資費說明頁面中的資費表格,在 Firefox 上無法顯示。

開了 DOM Inspector 來看,一開始的表格都還是正常的,後來到了資費的部分, id 為 Tag_IE_1 的 DIV 開始,#Tag_IE_1 以及裡面的物件 (表格、框架、圖片等),在 DOM Inspector 的 Box Model 中,box height 跟 box width 都是零。
不過在 computed style 中的 height 和 width 都不是零 ( auto 或是 100px 之類的 )

我目前是用了無樣式,那個表格的內容才會顯示出來,請問是哪裡出了問題呢?
另外我想順便問一下為什麼 box model 和 computed style 中的屬性會不一樣? ( 還是說 box height 和 height 是不一樣的? )
謝謝。


最後由 Coopoo 於 2009-01-06, 19:39 編輯,總共編輯了 1 次。

回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-01-06, 08:07 
離線

註冊時間: 2002-10-20, 02:29
文章: 1497
他的兩個資費表格 ( 3G 與 2G 的) 的 id 都是 Tag_IE_1,似乎是利用 [3G資費行動方案] 與 [2G資費行動方案] 兩張圖片去呼叫 JavaScript 函數,來控制樣式表中 display 的值。

因為 Firefox 中看,兩個 Tag_IE_1 的 div 都是 display: none,所以我猜是 JavaScript 的問題。 :?:
(之前看半天沒看到這個,還真是脫線 :oops: )

可是我不懂 JavaScript,請問是哪裡出問題,我想寫信請他們改進。
謝謝。

他用來呼叫函數的分別是
[3G資費行動方案]
代碼:
onclick="Pause_Msg()" onmouseover="Rot_Msg(1)

[2G資費行動方案]
代碼:
onclick="Pause_Msg()" onmouseover="Rot_Msg(2)


這是我在原始碼中找到的 JavaScript

代碼:
//var Msg_Timer;
var onPause=false;
var currentMsg=0;
var Msg_Obj=(document.all)?Tag_IE_1:document.all.Tag_NN_1;
function Rot_Msg(m){
if(!onPause||m){
for(i=0;i<document.Tag_COMM.length;i++){
document.Tag_COMM[i].src="http://service.taiwanmobile.com/consumer/images/tab_img"+(i+1)+"0.gif";
Msg_Obj[i].style.display="none";
}
if(m){
currentMsg=m-1;
//clearTimeout(Msg_Timer);
}else{
//Msg_Timer=setTimeout("none",180000);
}
document.Tag_COMM[currentMsg].src="http://service.taiwanmobile.com/consumer/images/tab_img"+(currentMsg+1)+"1.gif";
Msg_Obj[currentMsg].style.display="block";
currentMsg=currentMsg+1==document.Tag_COMM.length?0:currentMsg+1;
}
}
function Pause_Msg(){
onPause=onPause?false:true
}
Rot_Msg()


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-01-07, 11:50 
離線
[MozTW 版主群]
頭像

註冊時間: 2004-11-17, 09:53
文章: 1302
來自: 臺灣桃園
Coopoo 寫:
var Msg_Obj=(document.all)?Tag_IE_1:document.all.Tag_NN_1;

這程式在瀏覽器支援 document.all 時 Msg_Obj = Tag_IE_1
不支援的時候卻等於 document.all.Tag_NN_1,好詭異 @@"

其實 Msg_Obj = document.getElementById('Tag_IE_1'); 就可以兩邊通用了
不過,因為標準中同頁面上同個 ID 不可重複,所以這樣應該也無法取得陣列吧?(我不肯定瀏覽器的實際行為)

幸好它兩個 #Tag_IE_1 都有 name="Tag_NN_1"
所以可以直接用 Msg_Obj = document.getElementsByName('Tag_NN_1'); 解決

_________________
在靜謐的國度裡,擁抱微風--抱風伴靜


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-01-08, 20:26 
離線

註冊時間: 2002-10-20, 02:29
文章: 1497
風痕影 寫:
這程式在瀏覽器支援 document.all 時 Msg_Obj = Tag_IE_1
不支援的時候卻等於 document.all.Tag_NN_1,好詭異 @@"

其實 Msg_Obj = document.getElementById('Tag_IE_1'); 就可以兩邊通用了
不過,因為標準中同頁面上同個 ID 不可重複,所以這樣應該也無法取得陣列吧?(我不肯定瀏覽器的實際行為)

幸好它兩個 #Tag_IE_1 都有 name="Tag_NN_1"
所以可以直接用 Msg_Obj = document.getElementsByName('Tag_NN_1'); 解決

謝謝,我剛剛測試了一下,將
代碼:
var Msg_Obj=(document.all)?Tag_IE_1:document.all.Tag_NN_1;

改為
代碼:
var Msg_Obj = document.getElementsByName('Tag_NN_1');


更改以後,Fx 中的確可以順利切換不同的表格。
不過反而 IE 會出問題,兩個表格都不會顯示出來。
不知道是怎麼回事。


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
 個人資料  
引用回覆  
顯示文章 :  排序  
發表新文章 回覆主題  [ 4 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 24 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
Powered by phpBB® Forum Software © phpBB Group
正體中文語系由 竹貓星球 維護製作
© moztw.org, Mozilla Foundation
MozTW,Mozilla 台灣社群