gpt4 book ai didi

javascript - 跳过导航在新打开的 firefox 窗口中不起作用,但在 IE 和 Chrome 中有效

转载 作者:可可西里 更新时间:2023-11-01 14:54:02 26 4
gpt4 key购买 nike

当我在 Firefox 中使用 window.open 打开一个新窗口并尝试使用跳过导航在新窗口中导航页面的不同部分时不起作用并且预览窗口被重新加载。这就是我正在做的。

<html>
<head>
<script>
function openWindow()
{
var win = window.open("","_blank");
win.document.write("<!DOCTYPE html><html><head></head><body><a href='#rajeev'>hi</a><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><div id='rajeev'>To Come Here</div></html>");
win.document.close();
}
</script>
</head>
<body>
<button type="button" onclick="openWindow()">Display Date</button>
</body>
</html>

最佳答案

您应该能够将以下 onclick 代码添加到您的链接中,而不是哈希:

onclick='$(document).scrollTop($(\"#rajeev\").offset().top);'
// Escaped the quotes since it will be placed in a document.write("");

您需要在弹出窗口的代码中导入 jQuery,但如果我只使用它:

`win.document.write("<script src='http://code.jquery.com/jquery-1.8.2.js' type='text/javascript'></script>`

浏览器似乎解释了 </script>标记作为整个“弹出窗口编写”脚本的结束标记。这可以通过切割 </script> 来规避。字符串中的标记,如下所示。

This code在 Firefox 和 Chrome 中为我工作:

<html>
<head>
<script>
function openWindow() {
var win = window.open("","_blank");
win.document.write("<!DOCTYPE html><html><head><script src='http://code.jquery.com/jquery-1.8.2.js' type='text/javascript'></scr");
// Split up the </script> tag.
win.document.write("ipt></head><body><a onclick='$(document).scrollTop($(\"#rajeev\").offset().top);'>hi</a><br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br><div id='rajeev'>To Come Here</div></html>");
win.document.close();
}
</script>
</head>
<body>
<button type="button" onclick="openWindow()">Display Date</button>
</body>
</html>​

现在,您只需要设置 <a> 的样式使它看起来像您可以单击它,或将其替换为 <button> ,例如。

(Stackoverflow 有点搞乱了上面代码中的语法高亮显示,但它是有效的 js。此外,您通常不想在 HTML 中添加内联事件监听器。)

关于javascript - 跳过导航在新打开的 firefox 窗口中不起作用,但在 IE 和 Chrome 中有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13507309/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com