【发布时间】:2019-01-29 21:48:16
【问题描述】:
我有一个场景,我有 2 个 html 页面。在两个 html 页面上,我都有其他 html 页面的链接。所以我的要求是: 1. 当我打开第一个 HTML 页面并单击指向 HTML2 的链接时,应打开同一窗口中的新选项卡。 HTML 2 页面有 HTML1 的链接。所以当我点击 HTML1.已经在 tab1 中打开的 HTML 页面应该被聚焦。 2. 在标签之间切换时,页面不应重新加载。 3. 现在假设我在窗口中打开了 2 个选项卡(HTML1 和 HTML2)。当我尝试在 tab3 中手动复制和粘贴 HTML1 url 时,它应该集中在 Tab1 上。
我使用以下代码来实现第 1 点和第 2 点,但努力实现第 3 点。任何线索都会有所帮助。
//HTML1
<html>
<head>
<title>HTML1</title>
<script type="text/javascript">
window.onload = function (){
window.name = "HTML1"
}
var windowObjectReference = null; // global variable
function openHTML2App() {
if(windowObjectReference == null || windowObjectReference.closed)
{
windowObjectReference = window.open("file:///D:/HTML2.html","HTML2");
console.log("in if");
}
else
{
windowObjectReference.focus();
console.log("In else");
};
}
</script>
</head>
<body>
<h1>This is HTML1</h1>
<a target="HTML2" onclick="openHTML2App(); return false;" >This is link for HTML2</a>
</body>
</html>
//HTML2
<html>
<head>
<title>HTML2</title>
<script type="text/javascript">
window.onload = function (){
window.name = "HTML2"
}
var windowObjectReference = null; // global variable
function openHTML1App() {
if(windowObjectReference == null || windowObjectReference.closed)
{
windowObjectReference = window.open("","HTML1");
}
else
{
windowObjectReference.focus();
};
}
</script>
</head>
<body>
<h1>This is HTML2</h1>
<a href = "file:///D:/HTML1.html" target="HTML1" onclick="openHTML1App(); return false;" >This is link for HTML1</a>
</body>
</html>
实际结果:每次切换选项卡时都会重新加载页面。当您在新标签中手动输入 URL 时,会打开带有 URL 的新标签。 预期结果是: 1.标签切换页面不应该重新加载。 2.如果已经打开,则限制打开URL,而不是关注已经打开的URL
【问题讨论】:
标签: javascript html