我正在尝试在 Confluence 页面中实现这一点。
基本上,我有一个 PDF 文件(从 Powerpoint 导出),其中嵌入了超链接,因此当您单击 PDF 中的链接时,它会打开链接所在的任何页面。
此 PDF 文件在 Confluence 页面的 iframe 中打开(使用自定义用户宏创建)。
不幸的是,在 Firefox 和 IE 上,PDF 链接在 iframe 中打开新页面,而不是在父窗口中打开。Chrome 的内置 PDF 查看器工作正常(在父窗口中打开)。
同样不幸的是,我对 javascript 或 HTML 不太了解。我们目前在 Confluence 中用于“创建 iframe”自定义宏的代码如下:
## @param Url:title=URL|type=string|required=true|desc=URL for the iFrame
<script type="text/javascript">
jQuery(function($) {
var ratio = Math.sqrt(2);
var target = $("#f");
function fixRatio() {
target.width("100%");
if (target.width() > 1000) {
target.width(1000);
}
target.height(Math.ceil(target.width() / ratio));
}
$(window).bind("resize", fixRatio);
fixRatio();
});
</script>
<iframe id="f" src="$paramUrl" width="100%" style="border:0">x</iframe>
现在,其中大部分只是将 iframe 的大小调整为 PDF 文件(出于美学原因)。
基本上我想知道的是如何从不在 iframe 中而是在父窗口中打开的 PDF 中获取任何链接?
我考虑过对 iframe 窗口卸载执行操作,例如
window.onunload=function()
在 javascript 中,或
<body onunload="somecode">
在 HTML 中,但我不确定在哪里放置它或者我需要强制将新页面传递给父窗口并在那里呈现而不是 iframe 的代码是什么。
我试过了
<base target="_parent" />
但是因为 PDF 查看器与 iframe 中的页面其余部分是分开的,所以它似乎不起作用。
抱歉,我对此很陌生,我们确实有人帮助我们,但他编写了代码然后没有留下来帮助解决任何问题,而且我今天才看到我的第一个 HTML 和 javascript!所以想快速学习...
谢谢!