这不能将焦点返回到Firefox 4和5中的父窗口
<html>
<head>
<script type="text/javascript">
function openWin()
{
myWindow=window.open('','','width=200,height=100');
myWindow.document.write("<p>The new window.</p>");
myWindow.blur();
window.focus();
}
</script>
</head>
<body>
<input type="button" value="Open window" onclick="openWin()" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如何使用javascript将焦点返回到父窗口?
小智 14
您需要为父窗口命名.
Parent.html
<a id="link" href="#">Click to child.html </a>
<script type="text/javascript">
$(document).ready(function () {
window.name = "parent";
$('#link').click(function (event){
event.preventDefault();
window.open("child.html");
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
Child.html
<a id="link" href="#">Return to Parent </a>
<script type="text/javascript">
$(document).ready(function () {
$('#link').click(function(event) {
event.preventDefault();
var goBack = window.open('', 'parent');
goBack.focus();
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
现在,每当您单击child.html中的链接时,父窗口将被聚焦.
小智 5
很抱歉对一个非常古老的问题进行了死机处理,但我遇到了同样的问题并且找不到任何解决方案。我最终通过使用以下脚本解决了这个问题:
e = window;
while (e.frameElement !== null) {e = e.parent;}
e.parent.focus();
Run Code Online (Sandbox Code Playgroud)
显然,仅仅打电话window.focus();是不够的。您必须使用 Window 的父级的 focus 方法调用window.parent.focus();您无法从 JS 访问任何其他属性,但它会产生跨源错误。如果您的脚本是从页面内的框架触发的,则此脚本也将起作用,假设框架和主页共享相同的源(域)。
| 归档时间: |
|
| 查看次数: |
40971 次 |
| 最近记录: |