2016-01-13 60 views
0

我有帶垂直滾動條的iframe。我需要刪除它,並在頁面上有這個scollbar。所以,當我需要滾動iframe的內容時,我可以使用頁面滾動條。 我沒有隱藏iframe中的垂直滾動條,但現在我根本沒有。 我使用:隱藏iframe中的滾動條,並將其替換爲頁面上的滾動條

iframe::-webkit-scrollbar { 
    display: none; 
    } 

而這僅適用於谷歌瀏覽器,但它不與Firefox和Internet Explorer的工作。我嘗試了以下所有內容:

iframe::-moz-scrollbar {display:none;} 
iframe::-o-scrollbar {display:none;} 
iframe::-google-ms-scrollbar {display:none;} 
iframe::-khtml-scrollbar {display:none;} 

但他們沒有工作。

所以,我需要你的幫助來隱藏iframe與所有瀏覽器的滾動條。 並且能夠從頁面的滾動條滾動iframe的內容。 謝謝

+0

如何在iframe上使用'scrolling =「no」'屬性? – Tyr

+0

可能的重複http://stackoverflow.com/questions/4856746/hide-horizo​​ntal-scrollbar-on-an-iframe – Miqi180

+0

謝謝你試圖幫助我。 – user3117401

回答

0

根據IE的版本,有時使用iframe {overflow: hidden;}會隱藏滾動條。但將scrolling="no"放入您的iframe通常適用於所有瀏覽器。

+0

謝謝。我需要保持滾動,但不是從iframe的滾動條,我需要從頁面滾動條滾動。 – user3117401

+0

所以你想讓iframe在寬度和高度上伸展100%,讓滾動條消失,並讓頁面的自然滾動條滾動iframe? –

0

您可以在IFRAME中的頁面上添加JavaScript,以便在加載和調整大小時在父級中設置IFRAME的高度。該頁面需要與父代在同一個域中,儘管您可以通過瀏覽器安全設置來解決此問題。

在頁面(例如使用jQuery的):

if (window != window.parent) 
    $(function() { 
     var resize = function() { $(window.parent.document).find("IFRAME[name='" + window.name + "']").height($(document).height()); }; 
     $(window.parent).resize(resize); 
     resize(); 
    }); 

你需要給的iframe父頁面上的一個名字:

<iframe name="anything" ...></iframe> 
+0

我正在嘗試使用此解決方案。我的問題是我在構建網站時使用了prestashop,此軟件使用iframe作爲彈出窗口,並在此iframe中使用fancybox。問題我無法找到iframe標籤來給它起個名字。我的意思是我不知道哪個文件有這個iframe。另外,如果我找到框架並給它起個名字,請在你的jQuery代碼中,我應該在哪裏添加這個名字?謝謝! – user3117401

+0

在IFRAME中,名稱可以從window.name中獲知 - 如果IFRAME是爲彈出窗口自動生成的,則可能已經提供了名稱。 – bdimag

+0

謝謝。我確實使用了這段代碼,但它並不適用於我。它使滾動條再次出現在iframe上,並使iframe更長(增加額外的空白空間)。 – user3117401

0

這似乎就好了工作:

Html 5/CSS

.ifm { 
 
    width: 1200px; 
 
    height:800px; 
 
    overflow-y: hidden; 
 
}
<iframe src="https://bing.com" 
 
    class="ifm" 
 
    scrolling="no" 
 
    seamless="seamless"> 
 
</iframe>

基於this崗位。

+0

但是這將禁用滾動,我需要滾動,但從頁面不是從iframe。謝謝。 – user3117401

+0

注意用戶滾動父窗口(即「頁面」),而不是iFrame,因爲它只是滾動了已禁用的iFrame。如果這不是你想要的,那麼我不明白你的問題。請詳細說明。 – Miqi180