js獲取iframehtml(js獲取iframe嵌入第三方的資源請求)
如果是同域名的網(wǎng)址,可以通過JS來讀取var url = windowframes0locationhref如果是跨域的,由于安全原因,你只能獲取你原來設(shè)置的urlvar url = $#39iframe#39attr#39src#39如果iframe里面的地址跳轉(zhuǎn)了,這個是;網(wǎng)上提供的很多方法都是判斷當前窗口與頂部窗口是否相同來實現(xiàn) 代碼如下 iftop!=this 在frame中時處理 但這個腳本并沒有區(qū)分frame和iframe 在使用腳本時IE下遇到奇怪的問題頁面只有在iframe有問題frame中是正常的;postMessage是html5引入的API,postMessage方法允許來自不同源的腳本采用異步方式進行有效的通信,可以實現(xiàn)跨文本文檔,多窗口,跨域消息傳遞多用于窗口間數(shù)據(jù)通信,這也使它成為跨域通信的一種有效的解決方案要發(fā)送到其他窗口的;要解釋這個問題,首先要解釋兩個技術(shù)點每個“窗口”都是一個JS Runtime,即JS的運行時如果只有一個窗口,那么就只有一個Runtime如果一個窗口下面還有一個iframe,那么就有兩個Runtime以此類推Runtime之間互操作;可以的只要兩個頁面有一定的關(guān)系,無論是通過iframe,還是frameset,甚至是windowopen,超鏈接等等方式,都可以讓兩個頁面之間的js互相調(diào)用注意,是互相調(diào)用,也就是說,兩者誰都有辦法調(diào)用另一個的js代碼當然有前提;paramA=aparamB=bquotltiframe ltbodylthtml獲取參數(shù)名值對集合var paramMap = getIframeParams#39test#39paramMap的結(jié)構(gòu)是這樣的#39paramA#39#39a#39, #39paramB#39#39b#39alertparamMapparamA 取出pa;1動態(tài)加載js,css文件用原生js和jquery iframe結(jié)構(gòu) frame0父 frame 2子 frame 3子 frame2中觸發(fā)事件,動態(tài)的向frame3中 加載jscss文件和 dom元素 *同級之間可以調(diào)用可以 通過 子父子 的;可以通過jQuery獲取,具體方法如下quotiframequotcontentsfindquotaquotattrquothrefquot說明先獲取iframe對象然后獲取其中的網(wǎng)頁內(nèi)容,然后查找其中a標簽,獲取其第一個匹配的a的href。
1首先,打開html編輯器,新建html文件,例如indexhtml,填寫相應(yīng)html代碼2在indexhtml的ltscript標簽中,輸入js代碼var a = $#39#iframe#39textvar s = aindexOf#39ltiframeltbody#39var e = a;var iframe = documentgetElementById#39myFrame#39if iframeattachEvent iframeattachEventquotonloadquot, function consolelog else ifra;二通過JS獲取并操作iframe中的元素來解決問題 這里主要就是通過JS來操作Window對象Window 對象表示瀏覽器中打開的窗口,如果文檔包含框架frame 或 iframe 標簽,瀏覽器會為 HTML 文檔創(chuàng)建一個 window 對象,并為每個框;1在父頁面訪問Iframe子窗體的txtAddress控件 windowframesquotifrMapCompanyDetailsquotdocumentallquottxtAddressquotvalue = #39地址#39 2在Iframe子窗體1訪問父頁面的TextBox1控件 , 子窗體1把值賦給子窗體2的某個控件;把js代碼放在iframe后面,因為你的iframe還沒有加載;能獲取到iframe里面的HTML吧,如果能拿到的話 不就方便了按照局部打印的方式把從iframe里獲取到的html打印出來就OK了。
layeropen type 2, content #39testiframehtml#39, success functionlayero, index var iframeWin = windowlayerofind#39iframe#390#39name#39 iframeWinmethod windowla;這樣解決function show documentwritewindowframesquotcwinquotdocumentgetElementByIdquotregquotstyleheight windowonload=show也許你會說,那為什么我的innerHTML能獲取到呢? 請注意完全下載!明白了吧。
locationhref , 1每11000秒更新一次iframe網(wǎng)址 ltscriptltheadltbodyltiframe href=quot這里是網(wǎng)址quot id=quotIamPointerquotltiframelt!ID隨便寫*試試行不行,本人沒試過;就可以模擬保持設(shè)置舉個簡單例子lthtml lthead ltscript 儲存當前頁面的JS對iframe做出的設(shè)置 var settings = function autoSet 處理URL,如果帶有初始設(shè)置,則讀取 var sval = locationhrefifsval。
掃描二維碼推送至手機訪問。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。