我设法动态设置包含pdf的embed元素的高度。使用jQuery设置新的高度。但我没有感觉我使用过最好的“解决方案”。
旧高度= html中设置的高度
新高度=使用jQuery设置的新计算高度
我遇到了一个问题:我的嵌入元素的旧高度为200px。当我尝试使用新高度覆盖它时,嵌入元素确实更改为新高度,但PDF高度保持在200px。
但是当我将旧的高度设置得更高,5000px时,pdf对新高度的反应正确
简短版本:
新的嵌入高度>旧嵌入高度= pdf高度保持在旧嵌入高度
新的嵌入高度< old embed height = pdf height是正确的
我目前的代码如下:
<object>
<embed id="embed_pdf" type='application/pdf' src="/files/<?=$var['filename']?>" data-width="<?=$var['image_width']?>" data-height="<?=$var['image_height']?>" style="max-width:<?=$var['image_width']?>px;" width="100%" height="<?=$var['image_height']?>"/>
<p>Error message</p>
</object>
我的'脚本'代码:
$(document).ready(function() {
var pdf_width = $("#embed_pdf").attr("data-width");
var pdf_height = $("#embed_pdf").attr("data-height");
var object_width = $("#embed_pdf").width();
var object_height = (object_width/pdf_width)*pdf_height;
$("#embed_pdf").attr('height', object_height);
});
目前正在工作,因为旧高度始终与新高度相同或更高。但这是一个已知或正常的问题吗?或者我做错了什么?什么可能是更好的解决方案?
答案 0 :(得分:0)
我没有问题调整嵌入IE 11的PDF插件,您正在使用哪种浏览器,并且您使用的是标准的Adobe PDF插件吗?
$(window).resize( function(){
//$('embed').attr('height', 200);
height = $(window).height() - 75;
//alert(height);
$('embed').attr('height', height);
});
我能够在文档就绪和窗口大小调整上执行类似上面的操作。但是,我确实将所有项目设置为100%宽度,例如html,body和所有嵌入我的嵌入的div容器。
如果您尝试获取文档或元素高度等,您可能必须先实际缩小PDF,但窗口高度应该没问题。