8

我想要做什么的想法是,当我在 Internet Explorer 浏览器的一个选项卡上打开一个网站并单击一个链接时,它应该在同一个浏览器中打开一个带有 pdf 页面初始化的新选项卡...... pdf 页面有一个很多链接,如果你尝试点击其中任何一个,它们应该带你回到旧标签,你设法从那里打开 pdf 并继续在这两个标签之间切换我希望这个想法很清楚..我正在尝试做这使用 html 和 javascript ...这是我写的,但在这里仍然缺少很多。提前感谢您提供的任何帮助

这件在这里的午餐在另一个窗口中的另一个瞬间

<html>
<head>
<script>
function son()
{

 myWindow=window.open('','','width=500,height=500');
 myWindow.document.write(" SON !");
 myWindow.focus();
 myWindow.opener.document.write("<p> DAD !</p>");
}
</script>
</head>
<body>

<input type="button" value="Open " onclick="son()" />

</body>
</html>

这个文件是我内置 pdf 文件的地方。

<object data="Test.pdf" type="application/pdf" width="100%" height="100%">

<p>It appears you don't have a PDF plugin for this browser.
you can <a href="Test.pdf">click here to
download the PDF file.</a></p>

</object>

再次感谢

4

3 回答 3

6

在过去,您可以使用窗口的focus方法将窗口/选项卡置于前台。然而,滥用(主要以广告商的弹出窗口的形式)导致浏览器限制或禁用该功能。

如果我们忽略 PDF 部分,从概念上讲,这是一个非常简单的请求。首先,打开一个窗口并保留它的引用:

var pop = window.open('page.html'); // opens in new tab on most browsers

在二级页面中,切换回原始页面很简单:

window.opener.focus(); // no longer works in most modern browsers

并从第一页切换回来:

pop.focus();  // might work

我的测试中,我无法让 IE 9 或 Chrome 21 切换回打开器选项卡。在 Chrome 中,我可以打开第二个页面,手动切换回原始选项卡,然后调用pop.focus()确实使第二个选项卡重新聚焦。window.opener.alert('...');(IE 什么也没做。)我能够通过从辅助页面调用来强制 Chrome 回到起始页面,但这是一个丑陋的 hack。

所以看起来你无法做到这一点,至少不可靠。

我不确定您到底要完成什么(TOC?),但是您是否考虑过打开两个窗口?使用覆盖屏幕左侧的链接打开一个,在另一半使用 PDF 打开另一个。

于 2012-08-27T15:10:58.043 回答
2

JavaScript 没有用于控制选项卡的 API。因此,你不能这样做。

您可以打开窗口,但您无法控制它是选项卡还是窗口。

于 2012-08-27T14:44:55.897 回答
1

另一种可能性是不打开第二个窗口或选项卡。如果您在当前窗口或选项卡中打开另一个/替换页面,您可以使用 History 对象在两个页面之间切换。

history.go(-1); //takes you back to previous page
history.go(1);  //takes you forward to the page from which you went back.
于 2014-01-31T14:26:44.207 回答