Javascript 如何强制用户必须在iframe中滚动pdf
我在iframe中有一个pdf文件。我希望用户在提交表单之前必须在pdf文件中滚动。我正在尝试这个Javascript 如何强制用户必须在iframe中滚动pdf,javascript,jquery,Javascript,Jquery,我在iframe中有一个pdf文件。我希望用户在提交表单之前必须在pdf文件中滚动。我正在尝试这个 var position = $('#myIframe').contents().scrollTop(); 但不起作用。请先帮我谢谢。我已经为您的解决方案做了准备。您可以禁用用户的提交按钮,直到用户在iframe上滚动 function getFrameTargetElement(objI) { var objFrame = objI.contentWindow; if (windo
var position = $('#myIframe').contents().scrollTop();
但不起作用。请先帮我谢谢。我已经为您的解决方案做了准备。您可以禁用用户的提交按钮,直到用户在iframe上滚动
function getFrameTargetElement(objI) {
var objFrame = objI.contentWindow;
if (window.pageYOffset == undefined) {
objFrame = (objFrame.document.documentElement) ? objFrame.document.documentElement : objFrame = document.body;
}
return objFrame;
}
$("#myIframe").ready(function() {
var frame = getFrameTargetElement(document.getElementById("myIframe"));
frame.onscroll = function(e) {
$('.submitBtn').prop('disabled', false);
}
});
希望能有所帮助。我已经试了将近一个小时,研究了它,最后得出结论,不幸的是,使用这种方法是不可能的 PDF通常不是DOM元素,而是由PDF阅读器软件呈现的。每个浏览器都有自己的PDF渲染机制,没有标准。在某些情况下,PDF可能由PDF.js呈现;在这些情况下,您可能能够检测到滚动。但是AdobeReader、Foxit和一些原生PDF呈现不提供该选项 我还为此创建了一个Github。但是没有用
对不起。如果您能找到任何东西或解决方法,请告诉我。如果您不介意为iframe设定一个静态高度,我有一个解决方案 HTML和CSS
1.将iframe包装在
div
容器中2.为您的容器和iframe设置
height
(height
容器应该是您希望看到的框架的height
,iframeheight
应该足够大以显示整个pdf。)3.将容器div的
溢出设置为滚动
现在您有了一个可滚动的“iframe”
Javscript
获取容器元素。(var containerell=$(“#container”)[0];
)
编写一个滚动
功能。在scroll函数中,查找元素的总高度(scrollHeight
)是否小于或等于元素的滚动量(scrollTop
)加上元素的内部高度(clientHeight
)
元素。如果是,请从按钮
这是我的建议。对@mJunaidSalaat的jsidle做了一些更改。试试这个
$("#myIframe").ready(function() {
var frame = getFrameTargetElement(document.getElementById("myIframe"));
frame.onscroll = function(e) {
$('.submitBtn').prop('disabled', false);
}
});
谢谢请不要html(这是一个iframe),我想要pdf文件。并注释此//$('#iframe1').contents().find('html').html(“…”);然后不工作对不起,我花了很多时间。但不幸的是没有成功。您如何在iframe中加载pdf?也可以分享一些它的代码示例和表单的html;