1

PDFファイル付きのiframeがあります:

<iframe src="pdf/sample.pdf"></iframe>

スクロールバーなしで、iframeがpdfファイルと同じ高さになるように設定するにはどうすればよいですか?

4

3 に答える 3

2

スクロールバーなしでPDFを表示する場合は、URLでパラメーターを渡すことでこれを行うことができます。アドビはこれをここに文書化しています: http ://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf

これを試して:

<iframe src="pdf/sample.pdf#view=fit"></iframe>

PDFに合わせてiframeの高さを正確に設定しているわけではありませんが、ブラウザに依存せず、JavaScriptを必要としないため、おそらく最も堅牢なソリューションです。


ダニエルのコメントの後の更新です。

次のようにテストHTMLを作成しました。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <title>Untitled Page</title>
</head>
<body>
   <iframe src="http://partners.adobe.com/public/developer/en/pdf/PDFReference.pdf#view=fit&toolbar=0&navpanes=0"
      width="300px" height="400px"></iframe>
</body>
</html>

Chromeでの外観は次のとおりです。

ここに画像の説明を入力してください

これは予想通りです。

ページ用のスペースがあるように、ツールバーとナビゲーションペインもオフにしたことに注意してください。

于 2012-11-05T07:58:45.210 に答える
0

Facebookの投稿https://www.facebook.com/antimatterstudios/posts/10151007211674364で説明した方法を使用して簡単に行うことができます

別のWebサイトのページをホストしているため、高さを自動的に設定するIFrameがありますか。

残念ながら、IFrameは読み込んでいるコンテンツの高さを取得できません。高さを指定しない限り、デフォルトの高さが表示されるか、高さがまったく表示されません。これは迷惑です。

私はあなたのための解決策を持っています、それは最近の標準的なサポートブラウザでのみ動作しますが、IE8でも動作するので、あなたの約99%にとってそれは完璧です。

唯一の問題は、iframe内にJavaScriptを挿入する必要があることです。これは、読み込んでいるコンテンツが自分のものである場合は簡単です。読み込んでいるコンテンツを開いて、JavaScriptをコンテンツに入れるだけです。

あなたのウェブサイトでは、このような「IFrameからメッセージを受信する」ことができるJavaScriptが必要です。

jQuery(document).ready(function(){
    jQuery(window).bind("message",function(e){
        data = e.data || e.originalEvent.data;
        jQuery("iframe.newsletter_view").height(data.height);
    });
});

IFrameコンテンツで、これを一番下に追加します。JavaScriptがタグ内にない場合でも、PHPなどを使用して「$template。$javascript」のようなことを実行しても問題ありません。

<script type="text/javascript" src="jquery-1.7.1-min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    parent.postMessage({
        height:$(document.body).height()+50+"px"
    },"*");
});
</script>

明らかに私はjqueryを使用しています、あなたはそうする必要はありません、それはただ簡単で、おそらくあなたはそれを使用しているので、あなた自身の手間を省いてください。

これを行うと、iframeが読み込まれると、親ウィンドウに信号が返され、コンテンツの長さに基づいてiframeのサイズが変更されます:)

ささいなことを変える方法を理解できると確信していますが、それが私が使用している方法です

于 2012-12-30T19:46:27.807 に答える
0

私の解決策

$(document).ready(function(){
  var width = $(window).width();
  var height = $(window).height();

  $('#objFile').attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');
});
<object data="myFile.pdf" type="application/pdf" id="objFile"></object>
于 2018-05-31T16:45:56.077 に答える