2013-09-24 280 views
3

我想放大(而不是改變大小)的iFrame,其中源是SWF文件。放大iFrame的內容

<iframe src="http://ray.eltania.net/TEST/swf-play/swf/testMotion.swf" width="600px" height="500px" frameBorder="0"></iframe> 

http://jsfiddle.net/MuxRX/

正如你所看到的,iFrame的尺寸爲600x500px。我想放大該SWF的內容。想象一下放大90%,那麼你只會偶爾看到滑塊,但保持相同的幀大小。

我嘗試了StackOverflow上的每個鏈接,但每個結果都改變了內容的大小,我想要一個縮放效果。我不希望這樣的東西:

iframe { 
    zoom: 0.5; 
} 

http://jsfiddle.net/MuxRX/1/

回答

1

如果I幀來自不同的領域,你不能。這將是一個跨站點腳本攻擊,它將被瀏覽器阻止。

+0

因此,讓我們想象一下,有一個1000x1000px大小的SWF文件,但只有中心的100x100px正在使用。那麼我是否與巨大的白色區域卡住了? –

+0

是的。您無法操作來自其他人網站的iframe內容。 –

+0

這是一個恥辱。如果我在加載後將jQuery代碼注入到iFrame中會怎麼樣?像** $(「iframe」)。next(「embed」).css(「width」,「150%」); **? –

1

我創建這樣

HTML的規避

<iframe class="zoom" src="http://something"></iframe> <!-- add class zoom to iframe --> 

CSS

iframe { 
    width: 400px; 
    height: 400px; 
    border: 0; 
} 
.zoom { 
    -webkit-transform: scale(2); /* Safari and Chrome */ 
    transform: scale(2); /* zoom factor - prefix if needed */ 
    width: 200px; /* half of iframe width */ 
    height: 200px; /* half of iframe height */ 
    margin: 100px 0 0 100px; /* reposition iframe */ 
    overflow: hidden; /* remove big-ass scrollbars */ 
} 
+0

只需要注意,作爲對新(ish)用戶的鼓勵,添加'-webkit-transform:scale(2);'作爲Safari和Chrome修復程序的建議來自[建議的編輯](http :來自[SirBT](http://stackoverflow.com/users/2811672/sirbt)的//stackoverflow.com/review/suggested-edits/3852289)。 –