相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
- ThinkPHP 5.1、6.0、6.1 與 8.0 版本對比分析
- 涉嫌侵權(quán)的人只復(fù)制了版權(quán)軟件,沒有傳播給其他人,是否符合復(fù)制侵權(quán)的判定?
- 網(wǎng)站域名備案到企業(yè)名下后,即表明是商業(yè)使用了嗎?
- 軟件中使用了GPL & MIT 協(xié)議的文件 和 使用了 GPL | MIT 的有什么區(qū)別?
- 網(wǎng)站版權(quán)糾紛中的來源非法是否有嚴(yán)格的司法定義?
- [確定有效] ECSHOP后臺登錄不了的問題解決 https打不開
- 免費搜索代碼:如何利用百度做一個企業(yè)網(wǎng)站內(nèi)搜索?
- MySQL 中 HAVING 與 REPLACE 的用法解析
- 深入理解 MySQL 的連接操作:-h、-P、-u、-p 詳解
- 在 MySQL Workbench 中自定義導(dǎo)出文件格式的解決方案
用js互相調(diào)用iframe頁面內(nèi)的js函數(shù)
最近,天天搞論文開題報告,一時技癢,再次設(shè)計Web,一下子就碰到一個問題,以前設(shè)計WEB頁的時候都是在IE里面跑的,從來沒有考慮過firefox 更別提chrome了,可是現(xiàn)在不同了,至少我認(rèn)為不兼容Firefox的WEB頁面是極其丑陋和山寨的,所以從有個這個觀念開始,我設(shè)計頁面就開始注意這個兼容性,而這次就碰到一個兼容性的問題,html里面有一個浮動框架,<iframe >,可以在頁面中內(nèi)嵌入一個頁面,用來做框架頁面非常適合,如下圖,
一個html頁面,分成左右兩塊,左邊為導(dǎo)航欄,右邊為需要顯示的內(nèi)容,代碼如下:
左欄的代碼為:
<IFRAME frameBorder=0 id=frmTitleLeft name=framLeft src="left.html" style="HEIGHT: 100%; width:180px;">
連接到left.html
右欄也類似,就本人所做的頁面,預(yù)覽的效果如下:
現(xiàn)在要達(dá)到什么樣的效果才能起到比較實用的效果呢,點擊其中的任何鏈接,都可以在右欄顯示,那么很顯然需要通過js來實現(xiàn),原始的不兼容的辦法我也不多說了,請大家記住以下實現(xiàn)步驟:
1,首先獲得右欄iframe對象
var frames=document.getElementById("frameid");//frameid即右欄iframe的id名
2,重置其src值
frames.src=pageurl;//pageurl即要顯示的目的頁面
這樣就實現(xiàn)了頁面的跳轉(zhuǎn)
但是還有一點,如果想調(diào)用其中的函數(shù)就不是這么簡單了
比如右欄中有一個函數(shù)right(),我要在左欄的鏈接中調(diào)用right()函數(shù),該如何實現(xiàn)呢
1,首先leftframe是內(nèi)嵌在容器頁index.html中的,因此需要先返回到index這一級別,并取得rightframe對象
var frames=window.parent.window.document.getElementById("frameid");
2,要能執(zhí)行其頁面中的函數(shù),必須要獲得window對象,這里有一個重要的對象contentWindow,獲得這個對象,即可執(zhí)行其中的函數(shù)了,如
frames.contentWindow.right();
以上代碼兼容IE6,F(xiàn)irefox3,chrome2.0,均成功通過測試,IE7沒試過,不過應(yīng)該沒問題。