javascript
java communiframe_[Java教程]javascript iframe相关操作
[Java教程]javascript iframe相關操作
0
2014-08-21 21:02:45
1. 獲得iframe的window對象
iframeElement.contentWindow
2. 獲得iframe的document對象
存在跨域訪問限制。
chrome:iframeElement.contentDocument firefox:iframeElement.contentDocument ie:element.contentWindow.document 備注:ie沒有iframeElement.contentDocument屬性。var getIframeDocument = function(element) { return element.contentDocument || element.contentWindow.document; };
3. iframe中獲得父頁面的window對象
存在跨域訪問限制。
父頁面:window.parent 頂層頁面:window.top 適用于所有瀏覽器
4. 獲得iframe在父頁面中的html標簽
存在跨域訪問限制。
window.frameElement(類型:HTMLElement),適用于所有瀏覽器
5. iframe的onload事件
非ie瀏覽器都提供了onload事件。例如下面代碼在ie中是不會有彈出框的。var ifr = document.createElement('iframe'); ifr.src = 'http://www.b.com/index.php'; ifr.onload = function() { alert('loaded'); }; document.body.appendChild(ifr);
但是ie卻又似乎提供了onload事件,下面兩種方法都會觸發onload。方法一: 方法二: //只有ie才支持為createElement傳遞這樣的參數 var ifr = document.createElement(''); document.body.appendChild(ifr);
由于iframe元素包含于父級頁面中,因此以上方法均不存在跨域問題。
實際上IE提供了onload事件,但必須使用attachEvent進行綁定。ar ifr = document.createElement('iframe'); ifr.src = 'http://b.a.com/b.php'; if (ifr.attachEvent) { ifr.attachEvent('onload', function(){ alert('loaded'); }); } else { ifr.onload = function() { alert('loaded'); }; } document.body.appendChild(ifr);
6. frames
window.frames可以取到頁面中的幀(iframe、frame等),需要注意的是取到的是window對象,而不是HTMLElement。var ifr1 = document.getElementById('ifr1'); var ifr1win = window.frames[0]; ifr1win.frameElement === ifr1; // true ifr1win === ifr1; // false
7. 定義document.domain
這個聲明消除了域名的區別,我們可以像處理兩個相同域名的網站一樣處理這兩個頁面。
本文網址:http://www.shaoqun.com/a/98912.html
*特別聲明:以上內容來自于網絡收集,著作權屬原作者所有,如有侵權,請聯系我們:admin@shaoqun.com。
JavaScript
0
總結
以上是生活随笔為你收集整理的java communiframe_[Java教程]javascript iframe相关操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spark mongo java_Spa
- 下一篇: html中加法,javascript 实