用JS或jQuery訪問頁面內的iframe

2021-09-09 02:07:24 字數 2318 閱讀 7161

用js或jquery訪問頁面內的iframe,相容ie/ff 注意:框架內的頁面是不能跨域的!

假設有兩個頁面,在相同域下.

index.html 檔案內含有乙個iframe:

>頁面首頁

title

>

head

>

<

body

>

<

iframe

src="iframe.html"

id="koyoz"

height

="0"

width

="0"

>

iframe

>

body

>

html

>

iframe.html 內容:

1. 在index.html執行js直接訪問:

document.getelementbyid('koyoz').contentwindow.document.getelementbyid('test').style.color='red'

通過在index.html訪問id名為'koyoz'的iframe頁面,並取得此iframe頁面內的id為'test'的物件,並將其顏色設定為紅色.

此**已經測試通過,能支援ie/firefox .

2. 在index.html裡面借助jquery訪問:

$("#koyoz").contents().find("#test").css('color','red');

此**的效果和js直接訪問是一樣的,由於借助於jquery框架,**就更短了.  

收集網上的一些示例:

用jquery在iframe裡取得父視窗的某個元素的值 只好用dom方法與jquery方法結合的方式實現了

1. 在父視窗中操作 選中iframe中的所有單選鈕

$(window.frames["iframe1"].document).find("input:radio").attr("checked","true");

2. 在iframe中操作 選中父視窗中的所有單選鈕

$(window.parent.document).find("input:radio").attr("checked","true");

父視窗想獲得iframe中的iframe,就再加乙個frames子級就行了,如:

$(window.frames["iframe1"].frames["iframe2"].document).find("input:radio").attr("checked","true");

3.在子視窗中呼叫父視窗中的另乙個子視窗的方法(frame):

parent.frames["main"].fun();

注意:建議使用,這樣比較相容多個瀏覽器,() 火狐/搜狗/谷歌不相容

js頁面重新整理或關閉beforeunload事件

beforeunload事件在當前頁面關閉或重新整理時呼叫 jquery離開頁面彈出提示 繫結beforeunload事件 window bind beforeunload function 解除繫結,一般放在提交觸發事件中 window unbind beforeunload jquery離開頁面...

用子頁面(js)重新整理父頁面

今天在做系統的時候,在做新增新聞模組的時候。用到了新增完新聞後要重新整理父頁面來更新資料,所以就在網上找了些資料 解決了問題 非模態重新整理父頁面 window.opener.location.reload 模態重新整理父頁面 window.dialogarguments.location.relo...

用jQuery解決跨域訪問

瀏覽器端跨域訪問一直是個問題,多數研發人員對待js的態度都是好了傷疤忘了疼,所以病發的時候,時不時地都要疼上一疼.記得很久以前使用iframe 加script domain 宣告,yahoo js util 的方式解決二級網域名稱跨域訪問的問題.時間過得好快,又被拉回js戰場時,跨域問題這個傷疤又開...