2011-06-21 10 views
0

別のページ(iframe)のプレビューが正しく拡大縮小されていないOSX用Safari 5.05のバグを修正しました。奇妙なのは、Windows用のSafariとipad用のSafariで動作するということです。-webkit-transform:OSX Safariでscale()が正しく表示されない

OSXではiframeが半分にカットされており、実際にはラッパーdivの幅を変更してもうまくいきません。スケールを1に変更した場合、またはcssから-webkit-transformを削除した場合、iframeは完全にレンダリングされますが、縮小されません。これは、WindowsやiPadのSafariで見て、ちょうどクロムのいずれかのバージョンについてはどのよう

enter image description here

そして、OSX、それはOSXのSafari 5.05を除くほぼすべてのブラウザでどのように見えるか

Safariのバージョン:

enter image description here

<div id="newsletterPreview" class="scaleDownPreview" style="-webkit-transform: translate(-157px, -267px) scale(0.6); "> 
    <iframe style="width: 1338.3333333333335px; height: 1333px; " frameborder="0" src="controls/NewsletterPreview.ashx?skipIframe=true"> 
     [bla bla bla] 
    </iframe> 
</div> 

.scaleDownPreview { 
    zoom: 0.6; 
} 

提案がありますか?

答えて

5

私は同様の問題があり、ズームレベルをiframe要素ではなくiframeコンテンツに設定することで問題を解決しました。

私はこのような私のRailsアプリケーションで修正されました。

<iframe src="/?zoom=0.5" /> 

そして、このページでは、このように書式設定しました。

<% if params[:zoom] %> 

<style type="text/css" media="screen"> 
    html { 
    -moz-transform: scale(<%= params[:zoom] %>); 
    -moz-transform-origin: left top; 
    -webkit-transform: scale(<%= params[:zoom] %>); 
    -webkit-transform-origin: left top; 
    transform: scale(<%= params[:zoom] %>); 
    transform-origin: left top; 
    zoom: <%= params[:zoom] %>; 
    } 
</style> 

<% end %> 

html要素をスタ゗ルするiFrameに到達するだけで、javascriptで同じことができます。

+0

私は月曜日に仕事に戻るときにそれをチェックします。スウェーデンからの幸せな真夏の夜。 – russinkungen

+1

美しく動作します、ありがとう! $( 'iframe')を使用してjQueryでhtml属性を設定することができます。ドキュメントの準備ができたら。回避策は、$().load()を使用してiframeをロードし、コールバックを使用することです。しかし、私はfoucを避けるために、コードの後ろに(asp.netを使って)すべてを設定することにしました。 – russinkungen

関連する問題