我在一周前问了一个类似的问题,但也许我没有说清楚这个问题。
此后我一直在努力寻找有效的方法,但没有成功。
使用所有常见浏览器的最新版本,我想显示在特定页面上打开的PDF。
使用Chrome - 符合我的要求: - )
按此按钮可打开第3页的PDF。 如果用户将pdf滚动到另一页,然后再次按下该按钮,则会在第3页再次打开PDF;
使用FF,IE或Safari
按此按钮可打开第3页的PDF。 如果用户将pdf滚动到另一个页面,然后重新按下该按钮则不会发生任何事情。
有没有人知道如何让所有最新浏览器的页面始终在第3页打开? 我非常乐意彻底改变我的方法,包括在必要时使用免费插件。
如果有人知道我想要做的事情只能在Chrome中完成,那么如果他们能告诉我,我将不胜感激。
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test for SO</title>
<script src="Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
</head>
<body>
<input id="test" value="Test" type="button" />
<br />
<iframe id="iFrame" width="500" height="600"></iframe>
</body>
</html>
<script type="text/javascript">
$(function () {
$("#test").click(function () {
var fileName = "/PDFFiles/pages.pdf#page=3";
$('#iFrame').attr("src", fileName);
});
});
</script>
答案 0 :(得分:2)
这适用于Chrome
<A HREF="http://www.example.com/myfile.pdf#page=4">
要在所有浏览器中使用此功能,PDF has to be coded to open to a specific page.
这可以使用Adobe Acrobat完成。
答案 1 :(得分:1)
尝试使用Google的文档查看器,如下所示:
<iframe src="http://docs.google.com/gview?url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true" style="width:100%; height:500px;" onload="javascript:this.contentWindow.location.hash='#:0.page.4';" frameborder="0"></iframe>
基本部分是onload
功能,它会添加从零开始的索引页码以显示:
onload="javascript:this.contentWindow.location.hash='#:0.page.4';"
如果您需要一个按钮来重新加载iframe,只需更新iframe src(我认为这是最简单的方法,但我可能错了):
$('button').click(function(){
$('iframe').attr("src", function() {
return this.src;
});
});
答案 2 :(得分:0)
我的建议是将iframe src设置为其他内容,然后返回正确的文档。只在短时间内。
答案 3 :(得分:0)
您需要销毁并重新创建iframe节点本身。例如:
<input id="test" value="Test" type="button" />
<br />
<div id="wrapper">
<!-- iframe will be continually destroyed and re-created here -->
</div>
<script type="text/javascript">
// Create the initial iframe on page load
$('<iframe id="iFrame" width="500" height="600" src="/PDFFiles/pages.pdf">').appendTo('#wrapper');
// Destroy and recreate iframe on button click, starting on your desired page.
$("#test").click(function () {
if($('#iFrame').length) {
$('#iFrame').remove();
}
var page = 3;
$('<iframe id="iFrame" width="500" height="600" src="/PDFFiles/pages.pdf#page='+page+'">').appendTo('#wrapper');
});
</script>
注意:将会有一个时刻在第一页上再次加载PDF,但您可以将它隐藏在ajax加载器球下1-2秒,然后在您将其显示时将跳转到您想要的页面。