導航:首頁 > IDC知識 > iframe嵌套頁面跨域名

iframe嵌套頁面跨域名

發布時間:2021-01-27 04:18:41

1、js如何操作iframe的跨域問題

A域名下的頁copy面index.htm中內嵌了一個iframe頁面,iframe內引用的是B域名的sub-index.htm頁面,但是為了避免出
現在index.htm頁面中出現滾動條,需要明確知道sub-index.htm頁面的高度和寬度,可是sub-index.htm的頁面內容是不可控的,可能會根據不同用戶頁面大小會不一樣;問題就是如何把sub-index.htm頁面的高度和寬度傳遞給index.htm頁面?

具體解決:
1、在index.htm頁面中聲明一個js函數process(height, width);用來實現設置頁面內iframe的高度和寬度;
2、
在sub-index.htm頁面中再內嵌一個隱藏的iframe,iframe的src指向A域名下的頁面ex.htm?height=xx&
width=yy,該頁面沒有任何內容,只是用來傳遞sub-index.htm頁面載入完之後的寬度和高度這兩個數據的,頁面內js拿到request
中的參數之後直接調用parent.parent.process(height, width);完成對父頁面寬度和高度的設置;
如圖:

2、iframe 跨域子頁面操作父頁面的問題,真心求教

我剛解決過來類似的問題 你在源子頁寫COOKIE的時候,同時調用這里也保存父頁所在域的cookie, 然後你想操作的時候,再調一個,在do文件里判斷和控制JS跳出新窗口. year.明白了嗎? 動動手就可以了. 哈哈,再想一下,哦,原來session也可以啊

3、如何控制iframe內跨域頁面不打開新頁面

我剛解決過類似的問題 你在子頁寫COOKIE的時候,同時調用這里也保存父頁所版在域的cookie, 然後權你想操作的時候,再調一個,在do文件里判斷和控制JS跳出新窗口. year.明白了嗎? 動動手就可以了. 哈哈,再想一下,哦,原來session也可以啊.

parent.parent.document.getElementById,應該是可以操作的,我之前有一個子頁面操作父級頁面iframe高度的例子,跟你這個比較類似吧,因為你c.html是跟a.html同一個域名的,所以c.html應該是可以操作a.html的內容。

我的思路是:建議你不要在c.html中用定時器監測hash變化,你可以在b.html中操作完畢後,先刪除src為c.html的iframe,完後再重新創建一個iframe,src為c.html,完後通過c.html中的js控制a.html中的內容,比如你可以把值放到a.html中的hidden的input標簽里。我覺得這應該是能夠做到的。

4、如何解決iframe跨域子域名間跨域操作js的問題

建立隱藏iframe前頁面b.html,並前頁定義函數a伺服器端返數據重定向同域頁面(a.html)a.html寫段js執行函數a提取a.html數據obj並數據作參數傳給函數window.parent.a(obj);a.html包含b.html所window.parent.a(obj)其實調用b.html定義a函數硬跨域數據拿

5、如何用javascript 跨域獲取iframe子頁面的元素信息

jquery、contentWindow
$("#ii")[0].contentWindow
如果用jquery選擇器獲得iframe,需要加一個【0】;
$("#ii")[0].contentWindow.$("#dd").val()
可以在得到iframe的內window對象後接著使用jquery選擇器進行容頁面操作;

6、在父頁面中如何修改iframe中嵌套的子頁面的字體大小和樣式,急!急!貌似涉及到了跨域的問題希望各

1.htm母窗口代碼:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>

<script language=javascript>
function gogo()
{
document.frames["f"].document.styleSheets.mycss.addRule("P","color:green");
}
</script>
</head>

<body>
<iframe id="f" src=2.htm></iframe>
<p><input type="button" value="按鈕" name="B3" onclick="gogo();"></p>
</body>

</html>

2.htm iframe引用的網頁代碼:
<html>

<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
<style id="mycss" type=text/css>
p {color:red}
</style>
</head>

<body>

<p>22222222</p>
<p>22222222222</p>
<p>22222222222</p>

</body>

</html>

7、如何用javascript 跨域獲取iframe子頁面的元素信息

javascript獲取iframe框架中,載入的頁面document對象
因為瀏覽器安全限制,對跨域訪問的頁面,其document對象無法讀取、設置屬性
function getDocument(iframe)
{
var Doc;
try{
Doc = iframe.contentWindow.document;// For IE5.5 and IE6
}
catch(ex){}
if(!Doc)
{
Doc = iframe.contentDocument;// For NS6
}
return Doc;
}

用iframe嵌套頁面是,如果父頁面要獲取子頁面裡面的內容,可以使用contentWindow或者contentDocument,其區別如下:
a>contentWindow 這是個只讀屬性,返回指定的iframe的窗口對象。它雖然不是標準的一部分,但各個主流瀏覽器都支持。
b>contentDocument Firefox 支持,IE6,IE7都不支持,IE8開始支持,需要如此訪問 document.frames['J_mainframe'].document。
兼容獲取document對象:
var getIFrameDoc = function(){
var iobj = document.createElement("iframe");
document.getElementsByTagName("body")[0].appendChild(iobj);
return iobj.contentDocument || iobj.contentWindow.document;
}

與iframe嵌套頁面跨域名相關的知識