2015-10-26 20 views
1

iframe中刪除正文標記我想從包含在prettyPhoto燈箱插件那(http://www.shapur.com/product-category/fp-journe/)WooCommerce的一部分內的iframe中刪除一個不必要的報頭。當您點擊該頁面底部的單一產品按鈕時,它應該刪除iframe中包含的主體標籤。 iframe符合相同的來源策略,所以不是這樣。 http://www.shapur.com/test.php與jQuery

我在同一個域,它的偉大工程,創建了一個測試頁面在這裏。

是否存在與燈箱衝突?我只是不明白。感謝您的幫助。

下面是測試頁面代碼:

<!DOCTYPE html> 
<html> 
<body> 

<iframe id="myframe" src="http://shapur.com/index.php"></iframe> 

<p>Click the button to change the style of the body tag contained in the iframe.</p> 

<button onclick="myFunction()">Try it</button> 

<script> 
    function myFunction() { 
     var x = document.getElementById("myframe"); 
     var y = x.contentDocument; 
     y.body.style.display = "none"; 
} 
</script> 

</body> 
</html> 
+0

iframe的內容不會是它具有的iframe頁面的DOM中可見的,所以你不能改變it.In爲了消除它,你需要它通過iframe託管的網頁上觸發事件。 – DinoMyte

+0

需要確保的iframe裝載第一 – charlietfl

+0

@DinoMyte在測試頁面(http://www.shapur.com/test.php)我是能夠觸發在iframe託管頁面上的事件。 – Dilan

回答

0

,因爲它是來自同一產地的到來,你爲什麼不使用jQuery load()功能:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 

<script type="text/javascript"> 
    function myFunction() { 
     $(".myDiv").load("/index.php",function(data){ 
      $(data).find('body').css("display","none"); 
     }); 
    } 
</script> 

而且有一個空的:

<div class="myDiv"></div> 

這樣,您可以更輕鬆地玩弄代碼。

+0

聽起來像一個偉大的建議。 Ajax是Wordpress核心的一部分,任何想法如何在上面的測試頁面中實現。我嘗試使用上面的代碼,但它不工作。 – Dilan

+0

糟糕我的意思是說** jQuery **'load()'函數隊友!我的錯!並且[Ajax是jQuery的一個功能](http://api.jquery.com/jquery.ajax/)。如果它不起作用,請在代碼頂部包含google的jQuery庫(請參閱編輯的代碼)。讓我知道你是否有任何其他錯誤。 – Sina