MozTW 討論區

各項 Mozilla 相關軟體與技術討論
現在的時間是 2025-06-19, 20:28

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





發表新文章 回覆主題  [ 8 篇文章 ] 
發表人 內容
文章發表於 : 2006-01-21, 16:40 
離線

註冊時間: 2005-02-26, 09:29
文章: 16
請問一下像下面這段要寫成firefox支援要如何寫

<iframe id="ifrm1">
<iframe id="ifrm1" src="aa.htm"></iframe>
</iframe>

<script language="javascript">
parent.ifrm1.ifrm1.document.location.href;
</script>

ps.因為第二層的iframe裡的url會變,所以用location.href


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8) Gecko/20051111 Firefox/1.5
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2006-01-21, 17:14 
離線
[MozTW 版主群]
頭像

註冊時間: 2004-11-17, 09:53
文章: 1302
來自: 臺灣桃園
這個頁面的HTML本身就有問題
<iframe>應該不能套在<iframe>裡
而且ID不可以在同一個頁面上重複

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


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8) Gecko/20051111 Firefox/1.5
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2006-01-21, 17:26 
離線

註冊時間: 2005-02-26, 09:29
文章: 16
剛剛沒寫清楚,應該是這樣

aa.htm
============================
<script language="javascript">
alert(parent.ifrm1.ifrm1.document.location.href);
</script>

<iframe id="ifrm1" src="bb.htm">
</iframe>
============================

bb.htm
============================
<iframe id="ifrm1" src="cc.htm"></iframe>
============================



然後要在aa.htm用js找bb.htm裡的ifram的url


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8) Gecko/20051111 Firefox/1.5
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2006-01-22, 01:20 
離線
[MozTW 版主群]
頭像

註冊時間: 2004-11-17, 09:53
文章: 1302
來自: 臺灣桃園
欲表示某ID的元素,getElementById("某ID")是標準的寫法,所以:
代碼:
document.getElementById("ifrm1").document.getElementById("ifrm1").document.location.href

不過有一點要注意,這個程式其實應該寫在<iframe>後面
否則執行時<iframe>還沒出現,其實是會出錯的喔 ^^

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


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8) Gecko/20051111 Firefox/1.5
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2006-01-22, 03:00 
離線

註冊時間: 2005-02-26, 09:29
文章: 16
這樣還是不行呢,因為這種寫法
代碼:
document.getElementById("ifrm1").document.getElementById("ifrm1").document.location.href


跟這種是一樣的效果,只會偵測到最上一層的url(第一層)
代碼:
document.all.ifrm1.document.all.ifrm1.document.location.href


必須這樣寫才能偵測到最底層的url,可是這樣寫FireFox又不支援
代碼:
ifrm1.ifrm1.document.location.href 或 ifrm1.ifrm1.location.href


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2006-01-22, 03:54 
離線
頭像

註冊時間: 2005-08-25, 19:59
文章: 1210
來自: 幻境地帶
代碼:
<html>
<head>
<script language="javascript">
function t() {
   alert(
      document.getElementById("ifrm1")
         .contentDocument.getElementById("ifrm1")
         .contentDocument.location.href
      );
}
</script>
</head>
<body onload="t();">
   <iframe id="ifrm1" src="bb.htm"/>
</body>
</html>


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8) Gecko/20051111 Firefox/1.5
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2006-01-22, 09:59 
離線

註冊時間: 2005-02-26, 09:29
文章: 16
可以了:D

謝謝 yuoo2k 大和 風痕影 大~喔



代碼:
<script language="JavaScript" type="text/JavaScript">
function check() {            
   //記錄現在的網頁,以備登入時還在同一頁-開始//
      //for IE
   if (parent.document.getElementById("ifrm1").contentDocument == undefined){
     document.getElementById("hldurl1").value = parent.ifrm1.document.location.href;    
    
     if (parent.ifrm1.ifrm1 != undefined)
        document.getElementById("hldurl2").value = parent.ifrm1.ifrm1.document.location.href;
     //for FireFox   
  }else{
     document.getElementById("hldurl1").value =parent.document.getElementById("ifrm1")
                                                                                      .contentDocument.location.href;                                                                                               
     if (parent.document.getElementById("ifrm1").contentDocument.getElementById("ifrm1") != undefined)
        document.getElementById("hldurl2").value = parent.document.getElementById("ifrm1")
                                                                                      .contentDocument.getElementById("ifrm1")
                                                                                      .contentDocument.location.href;
   }   
  //記錄現在的網頁,以備登入時還在同一頁-結束//
     
   if (document.getElementById("account").value == "" ){
      alert("請輸入帳號");
      document.getElementById("account").focus();
      return false;
   }else if(document.getElementById("password").value == "" ){
      alert("請輸入密碼");
      document.getElementById("password").focus();
      return false;               
   }      
   return true;
}
</script>


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2006-01-24, 14:24 
離線
[網站管理員]
頭像

註冊時間: 2004-09-27, 09:24
文章: 1685
唉唷,用這麼多 document.getElementById,豈不是要累死?!
建議用這個 function...
代碼:
function $(element){return document.getElementById(element);}

假如要 document.getElementById("password")
只要改用 $("password") 就好

如果要寫一個可以同時取得多個 element 的 function,可以這樣(從 Prototype 偷學來的技巧)
代碼:
function $(){
   var results = new Array();
   for (i = 0; i < arguments.length; i++){
      results.push(document.getElementById(arguments[i]));
   }
   return results;
}

_________________
korp + korp 中文站(沒精神更新)


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

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


誰在線上

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


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

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