2016-09-06 111 views
0

我的頁面上有一個iFrame,它是從外部源進入的,當iFrame被加載時,它會自帶'樣式類,我試圖刪除其中的一個類。因此,當iFrame中加載HTML看起來像這樣:刪除iFrame的html標籤的樣式

<iframe style="background-color:#fff !important" id="myFrame" src="http://salonspy.co.uk/widget?i=72108" frameborder="0" height="270" width="320"> 
#document 
    <html> <!---THIS IS THE TAG I'M TRYING TO GET A HANDLE ON!--> 
     <head>...</body> 
     <body>...</body> 
    </html> 
</iframe> 

HTML標記應用了背景顏色(由外部CSS),我試圖消除這種背景色(或應用透明一個),但我似乎無法得到這個標籤的「保留」。

我有一些等待加載iFrame的jQuery,但我不知道該如何應用這種新樣式。

$(function() { 
$("#myFrame").bind("load",function(){ 
    //$(this).contents().find("[tokenid=" + token + "]").html(); 
    alert("iFrame loaded"); 
    //$(this).contents().find("html").css("background-color","white"); 
    var src = $('#myFrame>html').html(); 
    alert(src); 
}); 
}); 

請問有人能協助嗎?

謝謝。

+1

如果您是從same origin內訪問salonspy.co.uk,您可以通過調用內部HTML訪問HTML內容你說這是從一個「外部來源」(我可以告訴的salonspy.co.uk)。如果iframe在salonspy.co.uk之外託管,則可能會遇到[同源策略](https://en.wikipedia.org/wiki/Same-origin_policy)的問題。請參閱[此接受的答案](http://stackoverflow.com/a/364997/6697953)。 –

+1

[jQuery/JavaScript:訪問iframe的內容]的可能重複(http://stackoverflow.com/questions/364952/jquery-javascript-accessing-contents-of-an-iframe) –

+0

這告訴我如何獲得一個命名的元素,但不是通用的HTML標記 – SxChoc

回答

0

從評論移到回答。

普通的JavaScript

document.getElementById('myFrame').contentWindow.document.bo‌​dy.innerHTML 

jQuery的

$('#myFrame').contents().find("html").html();