2011-08-26 151 views
8

我只需要缩放框架内容。在我的网页中,我使用了zoom: 0.75; height: 520px; width: 800px;。如果我增加缩放值,则意味着帧尺寸会增加。如何仅使用框架集缩放IFRAME内容?

<HTML> 
<HEAD> 
    <TITLE> New Document </TITLE> 
<STYLE> 

#frame { width: 800px; height: 520px; border: 1px solid black; } 
#frame { zoom: 0.75; -moz-transform: scale(0.75); -moz-transform-origin: 0 0; } 
</STYLE> 
</HEAD> 

<BODY> 

    <IFRAME id="frame" src="http://www.google.com"></IFRAME> 

    </BODY> 

</HTML> 

在上面的示例HTML页面中,我想放大IFRAME的内容而不更改该IFRAME的大小。

+0

可能重复http://stackoverflow.com/questions/166160/how-can-i-scale-the-content-of -an-iframe) – bummi

回答

3

为此,您可能需要使用javascript。

有一个变焦的jQuery插件在这里:http://css-tricks.com/examples/AnythingZoomer/

你可以SRC改变的iframe一个本地网页,放置一个div在框架和使用jQuery的负载()(例如frame.htm。)函数将内容加载到框架中:

<script type="text/javascript"> 
    $(document).ready(function() { 
      $("#loadGoogle").load("pageToLoad.html", function(){ 
      //loaded 
      }); 
    }) 
</script> 
<div id="loadGoogle" style="width: 100%; height: 100%;"></div> 

然后使用框架内的jquery缩放插件来缩放内容。

<script type="text/javascript"> 
    $("#loadGoogle").anythingZoomer({ 

     expansionSize: 30, 
     speedMultiplier: 1.4 

    }); 
</script> 
+0

没有jquery我该怎么办? – Baskaran

+1

问题是,你告诉iframe放大,而不是iframe的内容。通过使用CSS“#frame {zoom:0.75 ...”,你不会得到期望的结果。 – Dan

14

我已经在我的Facebook使用的脚本,它的工作在IE和Firefox

<style type="text/css"> 
#iframe { 
    zoom: 0.15; 
    -moz-transform:scale(0.75); 
    -moz-transform-origin: 0 0; 
    -o-transform: scale(0.75); 
    -o-transform-origin: 0 0; 
    -webkit-transform: scale(0.75); 
    -webkit-transform-origin: 0 0; 
} 
</style> 

<iframe src="https://www.wikipedia.org/" height="700" width="550">Wikipedia Encyclopedia</iframe> 
+5

这太棒了 - 但**不使用**'zoom' **和**供应商特定属性之一。例如:如果您使用Chrome浏览器,您的'iframe'会被缩放和转换 - 导致双倍缩放。 – Gerwald

+0

这并不完全回答这个问题,对吗? OP显然希望扩展iframe的**内容**,而不是** iframe本身。 – rustyx

3

不知道这工作有链接的文档,但与本地托管的内容了以下工作:

<IFRAME id="frame" src="local.pdf#zoom=100"></IFRAME>