Chrome嵌入PDF时如何折叠导航窗格同时保留顶部工具栏
解决方案1:使用PDF URL参数(推荐,无兼容性问题)
Chrome内置的PDF查看器支持标准的Adobe PDF打开参数,要实现「默认折叠侧边导航栏+保留顶部工具栏」的效果,直接在PDF资源地址后拼接参数 #pagemode=none 即可,示例代码如下:
<iframe src="https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf#pagemode=none" style="width: 550px; height: 850px;"></iframe>
这个参数的作用是指定PDF打开时默认不展示侧边导航面板,顶部的工具栏(包含侧边栏展开按钮、下载、打印等控件)会完全保留,符合你要的效果。
你之前测试的navpanes=0参数在部分Chrome版本中会触发工具栏隐藏的问题,替换成pagemode=none即可解决。
解决方案2:JavaScript模拟点击(仅同域PDF可用)
如果参数方案不符合你的特殊需求,只有当你嵌入的PDF和当前站点属于同一域名时,才能通过JS操作iframe内部DOM模拟点击:
const pdfIframe = document.querySelector('iframe'); pdfIframe.addEventListener('load', () => { // 等待PDF内部DOM渲染完成,可根据实际情况调整延迟时间 setTimeout(() => { const sidebarToggle = pdfIframe.contentDocument.querySelector('[aria-label="Toggle sidebar"]'); sidebarToggle && sidebarToggle.click(); }, 300); });
如果嵌入的是外域PDF,浏览器同源策略会禁止访问iframe内部内容,该方案无法生效。
内容的提问来源于stack exchange,提问作者Jake
相关产品推荐
相关产品推荐

