當前位置:首頁 » 密碼管理 » jqueryiframe跨域訪問

jqueryiframe跨域訪問

發布時間: 2022-08-18 21:31:28

❶ jquery操作跨域iframe

修改被引入的iframe頁面唄?還有什麼更好的辦法,不打一句代碼就出出現結果碼 開玩笑

❷ iframe跨域且那個跨域那個網站東西我這邊不能操作,我用jquery現實,可是樣式會出問題~

你要操作什麼,還有你iframe里的網站你能修改嗎
不能修改的話建議用伺服器端去獲取,然後調用獲取到的內容

javaScript 怎麼跨域獲取 iframe 中的內容

要解釋這個問題,首先要解釋兩個技術點。

每個「窗口」都是一個JS Runtime,即JS的運行時。如果只有一個窗口,那麼就只有一個Runtime;如果一個窗口下面還有一個iframe,那麼就有兩個Runtime;以此類推。

Runtime之間互操作(或者通信)是有跨域限制的。也就是說,如果這個窗口本身是a..com域名下的頁面,那麼如果這個頁面下還有一個iframe,這個iframe中載入的頁面是b..com域名下的。那麼外層的JS。就不能跟這個iframe中的內容互操作(或者通信)。

因此外層Runtime中的JS想操作內層iframe中的內容,就必須要避免跨域限制。要麼內層iframe載入頁面的域名跟外層是一樣的。要麼就是需要在內層iframe載入的頁面中執行document.domain = '.com';從而設置跟外層的主域相同。

例如,當前頁面是a..com/test.html
<html>
<head>
</head>
<body>
<iframe id="iFrm1" src = ""margin: 0px; padding: 0px; color: rgb(69, 69, 69); font-family: arial, 宋體, sans-serif, tahoma, 'Microsoft YaHei'; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.301961); -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">
iframe中載入的頁面內容如下:
<html>
<head>
</head>
<body>
<div id="innerDiv">恭喜操作到內部iframe中的元素了!!!</div>
<script>
document.domain = '.com';
</script>
</body>
</html>

在HTML5中新增了postMessage的API。可以方便窗口跟內部iframe之間進行通信,並且可以實現跨主域通信。但是有一些限制,1.老版本的瀏覽器一般不支持。2.父窗口只能向iframe中發送信息,iframe只能收消息,且父窗口不能直接操作iframe中的內容。3.父窗口發送的數據也是有限制的。只能發送基本數據類型或者plain object。

❹ 如何用js操控iframe引用的跨域網站

<body>
<buttonid="btn">submit</button>
<iframesrc="http://www..com"id="frame"frameborder="0"></iframe>
</body>
<script>
varbtn=document.getElementById('btn');
varfr=document.getElementById('frame');
btn.addEventListener("click",function(){
fr.contentWindow.location.href="http://www.2345.com";
});
</script>

給按鈕綁定個事件吧然後執行iframe.location.href="新聞頁地址";

❺ jQuery(javascript)無法跨域,怎麼解決是想獲取iframe的框架裡面的東西!!

這里主要就是通過JS來操作Window對象。Window 對象表示瀏覽器中打開的窗口,如果文檔包含框架(frame 或 iframe 標簽),瀏覽器會為 HTML 文檔創建一個 window 對象,並為每個框架創建一個額外的 window 對象。

經過我在網上查資料,找到了JS操作iframe中HTML元素的方法。示例如下。
1function ShowExit() {
2//獲取iframe的window對象3var topWin = window.top.document.getElementById("topNav").contentWindow;
4//通過獲取到的window對象操作HTML元素,這和普通頁面一樣5 topWin.document.getElementById("exit").style.visibility = "visible";
6 }
說明:第一步,通過window.top.document.getElementById("topNav")方法獲取了頂部菜單頁面(topPage.htm)所在的iframe對象;第二步,通過上一步獲取到的iframe對象的contentWindow屬性得到了iframe中元素所在的window對象;第三步,通過上一步獲取到的window對象來操作iframe框架中的元素,這和操作不在iframe框架中的普通HTML元素是一樣的。
http://www.cnblogs.com/sunyunh/archive/2012/09/15/2687056.html

❻ jquery怎麼操作iframe

使用jquery操作iframe
1、 內容里有兩個ifame
<iframe id="leftiframe"...</iframe>
<iframe id="mainiframe..</iframe>
leftiframe中jQuery改變mainiframe的src代碼:
$("#mainframe",parent.document.body).attr("src","http://www.radys.cn")
2、 如果內容裡面有一個ID為mainiframe的ifame
<iframe id="mainifame"...></ifame>
ifame包含一個someID
<div id="someID">you want to get this content</div>
得到someID的內容
$("#mainiframe").contents().find("someID").html() html 或者 $("#mainiframe").contains().find("someID").text()值
3、在父窗口中操作 選中IFRAME中的所有單選鈕
$(window.frames["iframe1"].document).find("input[@type='radio']").attr("checked","true");

那選擇id自然就是依然使用find方法
$(window.frames["iframe1"].document).find("#id")

4、 如上面所示
leftiframe中的jQuery操作mainiframe的內容someID的內容
$("#mainframe",parent.document.body).contents().find("someID").html()或者 $("#mainframe",parent.document.body).contents().find("someID").val()

參考:http://www.cnblogs.com/xyicheng/archive/2010/02/26/1674017.html

❼ jquery load()怎麼解決跨域載入頁面 比如$("#id").load("www.demo.com/ct=index&ac=index") 謝謝!!!

通常解決跨域問題有兩個方案,一是通過iframe,而是通過HTTP和反向代理伺服器(諸如Apache、nginx等)。

由於iframe在在靈活性,樣式、dom選取上存在各種各樣的問題,因此我不推薦選用iframe。下面主要介紹通過反向代理解決這個問題的方法。

在諸多反向代理伺服器中nginx以佔用內存小,並發性能好著稱,這里我們以nginx為例:

假設我們開發項目的域名為www.test.com,它想引入www.target.com中的某個部分。

如果我們直接寫$("#id").load("www.target.com/?ct=index&ac=index")會有跨域警告,那麼這時候我們可以換個方式。寫成$("#id").load("www.test.com/to_target/?ct=index&ac=index")這樣就不會有跨域問題了,下面的問題就是如何讓/to_target指向target.com。這個要藉助nginx來實現:

python">server{
listen80;
server_name

proxy_set_headerHost$host;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerX-Forwarded-Server$host;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
proxy_set_headerReferer$http_referer;

#將/to_target/目錄下的鏈接全部轉發到www.target.com伺服器上
location/to_target/{
proxy_pass

}
#配置www.test.com的伺服器地址與埠號
location/{
proxy_pass

}

}

如果比使用的是Apache的話那麼原理是一樣的,配置上仿照上面修改即可

❽ jquery跨域訪問內嵌框架的input name屬性

首先你要了解怎麼訪問iframe里的元素 $("#IframeID").get(0).contentWindow().document.getElementsByTagName("div")[0].innerHTML = $('input')[0].value
這一段不會立即載入出來 ,原理跟獲取iframe的高度一樣 最好外面放一個setTimeout 時間自己測試下

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

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

❿ 如何使用iframe實現跨域寫入cookie 並且兼容大部分瀏覽器

假如
在網站A下通過iframe或ajax調用B下的內容時,默認情況下IE會阻止B寫任何Cookie
//B里的被調用的頁面需要寫P3P頭,從而解除IE對寫Cookie的阻止
context.Response.AddHeader("P3P", "CP=CAO PSA OUR");
//A里通過ajax調用www.B.com里的內容時,是跨域訪問,需要使用jsonp,為配合其工作需要添加下面兩句,生成jsonp返回
context.Response.ContentType = "text/plain";
context.Response.Write(string.Format("{0}('OK')", context.Request["callback"]));
//jsonp調用進行跨域訪問
jQuery.ajax({
url: url,
type: 'GET',
data: data,
dataType: 'jsonp',
success: function (data) {
window.location.href = toURL;
}
});

熱點內容
事件驅動python 發布:2024-10-18 14:39:54 瀏覽:844
java熔斷 發布:2024-10-18 14:32:05 瀏覽:867
蘋果訪問限制要打開嗎 發布:2024-10-18 14:26:31 瀏覽:121
php時間數字 發布:2024-10-18 14:26:30 瀏覽:604
qq系統頭像文件夾 發布:2024-10-18 14:14:55 瀏覽:235
安卓手機請輸入密碼在哪裡 發布:2024-10-18 14:13:28 瀏覽:646
設計編譯程序注意的問題 發布:2024-10-18 14:08:43 瀏覽:255
傳智播客android視頻 發布:2024-10-18 14:04:42 瀏覽:905
手機版安卓吃雞哪個好 發布:2024-10-18 14:01:40 瀏覽:492
編程自學入門教程 發布:2024-10-18 13:50:58 瀏覽:142