台灣最大程式設計社群網站
線上人數
1355
 
會員總數:241760
討論主題:187062
歡迎您免費加入會員
討論區列表 >> CSS/HTML5/Bootstarp >> 網頁框架內容變換
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
網頁框架內容變換
價值 : 10 QP  點閱數:217 回應數:11

樓主

Robin
門外漢
0 1
36 5
發送站內信

各位先進好:
公司要我修改網站能變換語言頁面
分成:左;上;右下三區
原來作法是在上方區按一個圖直接超連結去另一個語言主頁
<a href="../EN_web/En_Main.htm" target="_parent">
<img src="../images/ch_top_en_bt.gif" width="77" height="20" border="0">
現在要求在右下各產品區也要可以直接變換語言,
我在右下試著相似的方式
<a href="../EN_web/En_PD.htm" target=">
只有右下會換成英文產品頁,但左方和上方還是中文的......
要用什麼方式去改呢?




搜尋相關Tags的文章: [ 框頁 ] , [ HTML ] ,
本篇文章發表於2017-12-20 17:08
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
不錯的參考

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
一般來說,如果無法用網頁程式語言的部份。純html的情況下

你的做法只有如下

1.多語系主框架頁:
也就是其主框架頁你就事先區分好不同語系的呼叫框架。
而在其連結就用整頁刷新的方式來呼叫新的語系主框架來做操作

2.設計為js來做連動:
因為一般來說,a連結能控制的只有一個框架頁。
如果有多重框架頁的話。你並無法一個一個去呼叫。
所以你就得用js的方式,來將所有的框架頁做語系對應。

3.連動式呼叫:
此方式其實跟第2點有點類同。但唯一不一樣的就是放到主框架頁中判斷控制。
此會需要比較高階的技術連動。不過一般來說,用第2種方式就很夠用了。
本篇文章回覆於2017-12-21 17:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Robin
檢舉此回應
您好:
我試著用在網上找的一次可以更換三個框架頁的方式去作,可是完全不會動...
框架內容
<frameset rows="0" cols="103,*" framespacing="0" frameborder="no" border="0" >
<frame src="CL.html" name="leftFrame" scrolling="no" noresize="noresize" marginheight="0" marginwidth="0" id="leftFrame" title="EL_Frame" />
<frameset rows="79,*" frameborder="no" border="0" framespacing="0">
<frame src="CT.html" name="topFrame" scrolling="no" noresize="noresize" marginheight="0" marginwidth="0" id="topFrame" title="ET_Frame" />
<frame src="CB.html" name="mainFrame" marginheight="0" marginwidth="0" scrolling="Auto" id="mainFrame" title="EM_Frame" />
</frameset>


以下放在主頁或影像連結的<BODY>和</BODY>中間
<script language="JavaScript">
function changepage(Leftweb,Topweb,Bodyweb)
{
parent.leftFrame.location=Leftweb
parent.topFrame.location=Topweb
parent.mainFrame.location=Bodyweb
}
</script>

把以下放在想更作動的MAINFRAME網頁CB1.HTML中
<a href=javascript:changepage ('el.html','et.html','eb1.html')">
<img src="ch_top_en_bt.gif" width="77" height="20"></a>
我誤解了什麼了嗎?

本篇文章回覆於2017-12-25 17:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

迷路
捐贈 VP 給 迷路 檢舉此回應
理論上是可以的
請將網頁其餘的內容全部刪除
只保留換頁的部分測試,看看是否能運作
我這邊測試是OK的
你的a標籤href=後面少了一個雙引號

另外請愛用程式碼標籤,不然會降低看的意願
本篇文章回覆於2017-12-26 13:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Robin
檢舉此回應
您好:
修正雙引號後再進行程式碼調整,是可以動作了,
但是發現如果我BODY部份如果也有作連結,
那個FRAME一變動就不會動作了~

另一個BODY頁面相似,只是這兩個頁對換.
是少了什麼去導引嗎?
本篇文章回覆於2017-12-26 17:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
那個FRAME一變動就不會動作了~
上面這句是什麼意思?
是你點<a href="C.html">這個超連結不會換頁?
還是換頁後<a href="javascript:changepage('A.html','B.html','C.html')">會失效?
或是點了之後只有centwindow有換頁,其它兩個frame沒換頁?
本篇文章回覆於2017-12-27 09:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

Robin
檢舉此回應
是指從一開始的網頁按"更換FRAME"會換成A,B,C三個框頁
但如一開始先<a href="C.html">換掉centwindow內容後
PS.C.HTML也有一個<a href="javascript:changepage('A.html','B.html','C.html')">
就不會把controlwindow,centwindow,centwindow一次更換了,也就是不動作.
像這樣,如要不管centwindow換成什麼內容都要能執行
<a href="javascript:changepage('A.html','B.html','C.html')">
這個動作,該如何作??
本篇文章回覆於2017-12-27 09:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
雖然你用了程式標簽。但你沒做縮排程式碼的處理。有用跟沒用一樣。

一般來說,你這樣的用法是需要每一頁都要有那段script的程式碼。
這樣的方式也就是我說的第2種方式。

基本上我會建議你將那段function放到一個js程式碼處理。
然後每一頁去呼叫它就好。
這樣子要修改程式碼只要改一支就好。
不需要每一頁都改。

其實如果可以的話。你也可以不需要每一次給與三個變數。
做一點手腳可以讓呼叫的方式更靈活一點。
當然了,這樣的方式對你來說也的確算是比較直覺了。
本篇文章回覆於2017-12-27 10:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

Robin
檢舉此回應
感謝各位的指導∼
按照第二種方式把那段script每一頁都放了,在CHROME中可以奱換了
可是在IE時會要求允許執行指令碼
在FIREFOX中會只能變換一次,不管是從英文版面開始還是中文版面開始,都一樣

另外
建議你將那段function放到一個js程式碼處理。
然後每一頁去呼叫它
這個建議,我試著作看看,發現因為三個框頁BODY頁不同,要呼叫的話對我有些難度∼
本篇文章回覆於2018-01-03 14:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
其實我是有點不太明白你指的body頁不同而無法呼叫的問題。
我真的不解

載入一個js檔會有什麼差別??這我真的不懂。

你該不會誤會我的說法了。我是希望叫你將functio寫到一個如function.js的檔案內。

然後你在每一頁去做 <script src="function.js"></script>的載入就好了。
你就不需要每一個程式內都要寫一段function的程式在堶惜F。

未來要修改也會比較方便。
本篇文章回覆於2018-01-03 14:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

Robin
檢舉此回應
啊~我真的是誤解了吧?
所以我可以以一個頁面去CALL一個function.js檔來用
或更進一步去CALL一個function.js堛漱@段CASE來用?
本篇文章回覆於2018-01-03 14:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
firefox的情況我不清楚
但IE要麻是你安全性設置有問題,要麻就是你頁面是放在電腦上而非網站上
另外,關於script,你是不是誤會什麼了

這樣的script只是宣告一個函數
代表當網頁呼叫aaa()時
會alert("aaa");
這並不代表網頁一定要呼叫aaa()
你如果不呼叫,網頁就不會執行
本篇文章回覆於2018-01-04 09:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.