修改 window.setTimeout,使之可以传递参数和对象参数

网上找来里的一个可以让setTimeout执行的function带上参数,同样原理,其他同类函数(如setInterval)也可以用的。


<script language="javascript">
/**//*
功能:修改 window.setTimeout,使之可以传递参数和对象参数
使用方法: setTimeout(回调函数,时间,参数1,,参数n)
*/
var __sto = setTimeout;
window.setTimeout = function(callback,timeout,param){
var args = Array.prototype.slice.call(arguments,2);
var _cb = function(){
callback.apply(null,args);
}
__sto(_cb,timeout);
}

///测试代码
function aaaa(a){
alert(a);
}

function aaaaa(a,b,c){
alert(a + b + c);
}

var a = new Object();
window.setTimeout(aaaa,1000,a);
window.setTimeout(aaaaa,2000,a,6,7);
</script>
http://www.cnblogs.com/21dacia/archive/2008/09/20/1294728.html
### 使用 `window.open` 后刷新页面的方法 当使用 `window.open` 打开一个新的窗口并希望在特定情况下刷新该窗口或原始窗口时,可以采用不同的策略来实现这一目标。 #### 刷新新打开的窗口 对于新开窗口自身的刷新操作,在子窗口内部可以直接调用 `location.reload()` 函数来进行刷新。如果是在父窗口中控制子窗口,则可以通过返回的对象实例访问子窗口的位置属性: ```javascript var newWindow = window.open('http://example.com', '_blank'); // 延迟一段时间确保页面加载完成再尝试刷新 setTimeout(function(){ if (newWindow && !newWindow.closed){ newWindow.location.reload(); } }, 1000); ``` #### 刷新原窗口(即父窗口) 为了从子窗口触发对父窗口的刷新动作,可以在子窗口内利用 `window.opener` 属性指向其创建者——也就是原来的那个窗口对象,并对其进行相应的操作之前先做状态检测以防止错误发生: ```javascript if(window.opener && !window.opener.closed){ window.opener.location.reload(); } ``` 此段代码会检查父窗口是否存在且未关闭的情况下重新载入它[^1]。 #### 处理 Vue 应用中的特殊情况 针对某些框架如Vue构建的应用程序可能出现的问题,比如每次刷新都会跳转到首页的情况,这可能是由于路由配置不当引起的。确保正确设置了前端路由模式以及服务器端支持正确的静态资源路径解析非常重要。另外一种解决方案是调整URL参数传递方式或者修改应用逻辑使得即使刷新也能保持预期的行为[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值