用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戰場時,跨域問題這個傷疤又開...