试试这个
<html>
<script language="javascript">
function test(){
window.opener.location.reload();
focusWindow();
}
function focusWindow(){
if( window.opener.document.readyState == "complete" ){
window.focus();
return;
}
setTimeout( "focusWindow()",10 );
}
</script>
<body>
child window
<input type="button" value="test" onclick="test()">
</body>
</html>
<html>
<script language="javascript">
function test(){
window.opener.location.reload();
focusWindow();
}
function focusWindow(){
if( window.opener.document.readyState == "complete" ){
window.focus();
return;
}
setTimeout( "focusWindow()",10 );
}
</script>
<body>
child window
<input type="button" value="test" onclick="test()">
</body>
</html>
解决方案 »
- js实现翻页效果,求助
- 求一JS方法
- 如何用JavaScript 5秒一次自动将文本框的值给与Label?
- 根据下拉框的文本值设置默认值
- js怎么取它的index啊??【简单问题,纯属送分,不懂】
- javascript 有没有办法通过时区ID获取标准时间的时间量,在线等。
- fullcalendar日历控件如何点击某一天后改变点击那一天的CSS样式
- 在applet装载失败时候,如何实现Sets the optional alternative HTML script to execute if the object fails to load.
- 为什么我在page.js文件下写了如下函数,总是提示"缺少标识符"??
- 如何用JAVA SCRIPT实现两个INPUT框值的比较。
- 请大家帮帮忙,关于单击 右键“目标另存”的问题。。。。。
- Obj实例化不起作用
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
<title>无标题文档</title>
</head>
<script type="text/javascript" src="CookieUtility.js"></script>
<script language="javascript">
var view_num = 8;
var win;window.onload=function(){
win = window.open("b.html");
}////////////////////////////////////////////////////////////////////////////////
function history_show()
{
var history_info=getCookie("history_info_xiit");
var content="";
if(history_info!=null)
{
history_arg=history_info.split("_www.xiit.cn_");
var i;
for(i=0;i<=view_num-1;i++)
{
if(history_arg[i]!="null")
{
var wlink=history_arg[i].split("+");
content+=("<font color='#ff000'></font>"+"<a href='"+wlink[1]+"' target='_blank'>"+wlink[0]+"</a><br>");
}
document.getElementById("history").innerHTML=content;
}
}
else
{
document.getElementById("history").innerHTML="对不起,您没有任何浏览纪录";
}
}
// JavaScript Document
</script>
<body>
<div style="height:100%;" id="history">
<script language="javascript">
history_show();
</script>
</div>
</body>
</html>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
<title>无标题文档</title>
</head>
<script type="text/javascript" src="CookieUtility.js"></script>
<script language="javascript">
var view_num = 8;
////////////////////////////////////
function glog(evt)
{
evt=evt?evt:window.event;
var srcElem=(evt.target)?evt.target:evt.srcElement;
try
{
while(srcElem.parentNode&&srcElem!=srcElem.parentNode)
{
if(srcElem.tagName&&srcElem.tagName.toUpperCase()=="A")
{
linkname=srcElem.innerHTML;
address=srcElem.href+"_www.xiit.cn_";
wlink=linkname+"+"+address;
old_info=getCookie("history_info_xiit");
var insert=true;
////////////////////////
if(old_info==null) //判断cookie是否为空
{
insert=true;
}
else
{
var old_link=old_info.split("_www.xiit.cn_");
for(var j=0;j<=view_num-1;j++)
{
if(old_link[j].indexOf(linkname)!=-1)
insert=false;
if(old_link[j]=="null")
break;
}
}
/////////////////////////////
if(insert) //如果符合条件则重新写入数据
{
wlink+=getCookie("history_info_xiit");
setCookie("history_info_xiit",wlink);
break;
}
}
srcElem = srcElem.parentNode;
} } catch(err) {
//alert(err.description);
}
return true;
}
//document.onclick=glog;// JavaScript Document
window.onload=function(){
document.onclick= function(){
glog();
window.opener.history_show();
}
}
</script>
<body>
<div>
<br>
<br>
点击链接:<a href="#">网站1</a>
<a href="#">网站2</a>
<a href="#">网站3</a>
<a href="#">网站4</a>
<a href="#">网站5</a>
<a href="#">网站6</a>
<a href="#">网站7</a>
<a href="#">网站8</a>
<a href="#">网站9</a>
</div> <div style="height:100%;" id="history">
</div>
</body>
</html>
readyState就是用来判断父页面是否已经加载完成了。
你最好把你的代码帖出来。
window.opener.location.reload();
document.onreadystatechange = focusWindow;
}
function focusWindow(){
if( window.opener.document.readyState == "complete" && document.readyState == "complete" ){
self.focus();
return;
}
setTimeout( "focusWindow()",1000 );
}
我是按你那样的做,但是还不行
<script>
function refreshParent(){
window.opener.location.reload();
document.onreadystatechange = focusWindow;
}
</script>只有在画面的onunload事件中才会设置 document.onreadystatechange 事件处理函数。
(这个地方楼主是不是原意是使用onload事件呀?)
但新的画面加载的时候,设定的onreadystatechange的事件处理又被复位了。
因为onreadystatechange的处理函数永远都不会被实行。
按你那样的方法 setTimeout( "focusWindow()",10 );但是当子页面都加载完了,可是父页面还没有,这个时候setTimeout( "focusWindow()",10 );还会执行不??
这个处理的意义是,每隔10毫秒查询一下父窗口的状态,
直到你窗口的readyStat="complete"(加载完在).
你为什么要在onunload里去做呢?
画面都卸载了,当然所有的设定都无效了。
如果想让画面聚焦应该在画面的onload事件来处理。
打开子窗口前将标志置位 比如: flag = 0;
子窗口onload事件中对这个变量进行判断,
如果为0的时候,不刷新父窗口,并将标志设置为 1.
如果为1的时候,刷新父窗口。