社区
JavaScript
帖子详情
如何使window.open打开的窗口不被拦截?
夭夭
2004-04-14 09:57:32
由于界面设计的需要,要求打开的新页没有地址栏等,更简洁一些.
可是要不只能打开新页,设一些属性进去,但这样弹出的会被广告拦截器拦住.
要不在当前页上改,动态的把地址栏等隐藏了.可是不知道怎么做呀,求助.
...全文
1281
26
打赏
收藏
如何使window.open打开的窗口不被拦截?
由于界面设计的需要,要求打开的新页没有地址栏等,更简洁一些. 可是要不只能打开新页,设一些属性进去,但这样弹出的会被广告拦截器拦住. 要不在当前页上改,动态的把地址栏等隐藏了.可是不知道怎么做呀,求助.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
26 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nowokcom
2004-07-09
打赏
举报
回复
记录一下
freshrabbit
2004-07-01
打赏
举报
回复
网络风筝的方法,3721拦不住,不过我想定义弹出窗口怎么办呢?比如定义它有多高多宽,没有工具栏等。
freshrabbit
2004-07-01
打赏
举报
回复
九天神龙的方法我试了,用3721照样拦截
bflovesnow
2004-04-19
打赏
举报
回复
mark
awaysrain
2004-04-19
打赏
举报
回复
netyvon(网络风筝) 你的方法不错,可是我要传参数进去呀,这个怎么做呢?
----------------------------------
<script language="javascript">
<!--
function goURL(url){
document.all.netbee.href=url;
document.all.netbee.target="_blank";
document.all.netbee.click();
}
//-->
</script>
<a id="netbee"></a>
<input type="button" onClick="goURL('http://www.google.com')" value="傻瓜">
shuzai
2004-04-18
打赏
举报
回复
m
wanghuixue
2004-04-18
打赏
举报
回复
mark
52juanjuan
2004-04-18
打赏
举报
回复
哇,超难的问题快要找到答案了
夭夭
2004-04-18
打赏
举报
回复
不行呀,我试了不行,google的好像还是出不来呀
夭夭
2004-04-16
打赏
举报
回复
netyvon(网络风筝) 你的方法不错,可是我要传参数进去呀,这个怎么做呢?
xkou(九天神龙) 这样可能还是会拦吧,
csdntzg
2004-04-16
打赏
举报
回复
九天神龙的方法我用过,可以逃过google的屏蔽,其它的不怎么清楚了;
建议你还是做一个屏蔽检测,然后定向到不同的页面;
xkou
2004-04-15
打赏
举报
回复
此问题解决,用百度测试,请大家继续测试
<a id=aa href="about:blank" target="_blank" onClick="return pop(this.href);" >sdfsdf</a>
<script language="JavaScript"> function pop(pageurl)
{
var popwin=window.open(pageurl,"popWin","scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,width=540,height=500,top=0,left=20");
return false;
}
aa.click();
</script>
snowclash
2004-04-15
打赏
举报
回复
mark
Bmonkey
2004-04-15
打赏
举报
回复
mark
191301587
2004-04-15
打赏
举报
回复
mark
netyvon
2004-04-14
打赏
举报
回复
不用window.open打开不就的了
<script language="javascript">
<!--
function goURL(){
document.all.netbee.href="http://www.google.com";
document.all.netbee.target="_blank";
document.all.netbee.click();
}
//-->
</script>
<a id="netbee"></a>
<input type="button" onClick="goURL()" value="傻瓜">
renniliao
2004-04-14
打赏
举报
回复
UP 学习数字金刚
wanghuixue
2004-04-14
打赏
举报
回复
gz
gjd111686
2004-04-14
打赏
举报
回复
一般拦截弹出窗口是判断主窗口是否加载完毕,如果未完成就屏蔽弹出窗口.
所以你不能在Body的onload中弹出窗口,可以写在</Bdoy>之前用<Script></Script>来执行.
下面是我拦截弹出窗口的部分,看看原理吧:
STDMETHODIMP CIEPlugCom::Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pvarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
{
USES_CONVERSION;
if(!pDispParams)
return E_INVALIDARG;
LPOLESTR lpURL=NULL;
m_spWebBrowser2->get_LocationURL(&lpURL);
switch(dispidMember)
{
case DISPID_BEFORENAVIGATE2:
char *pURL;
if(pDispParams->cArgs >=5&&pDispParams->rgvarg[5].vt==(VT_BYREF|VT_VARIANT))
{
CComVariant varURL(*pDispParams->rgvarg[5].pvarVal);
varURL.ChangeType(VT_BSTR);
//转化要访问的网址为char *型
pURL=OLE2A(varURL.bstrVal);
}
//如果正要访问的网址为要被拦截的,则停止
//IDS_URL
if(strstr(pURL,"microsoft.com")!=NULL)
{
*pDispParams->rgvarg[0].pboolVal=TRUE;
MessageBox(NULL,"当前系统禁止浏览该页","警告",MB_ICONSTOP);
return S_OK;
}
break;
case DISPID_NAVIGATECOMPLETE2:
break;
case DISPID_DOCUMENTCOMPLETE:
break;
case DISPID_DOWNLOADBEGIN:
break;
case DISPID_DOWNLOADCOMPLETE:
break;
case DISPID_NEWWINDOW2:
READYSTATE m_ReadyState;
m_spWebBrowser2->get_ReadyState(&m_ReadyState);
if(m_ReadyState!=READYSTATE_COMPLETE)
{
*pDispParams->rgvarg[0].pboolVal=TRUE;
return S_OK;
}
else
{
*pDispParams->rgvarg[0].pboolVal=FALSE;
return S_OK;
}
break;
case DISPID_QUIT:
break;
default:
break;
}
return S_OK;
}
月小升java-er点com
2004-04-14
打赏
举报
回复
自己模拟一个层,这样不会被拦截。 回复人: joe820302(joe) ( ) 信誉:99
这个主意不错 最好是让一定时间内消失
或者 在层上定义消失事件
加载更多回复(6)
window.open
打开
新
窗口
,不被
拦截
的方法
window.open
打开
新
窗口
,不被
拦截
的方法
window.open
打开
窗口
被
拦截
的快速解决方法
自己遇到的使用
window.open
打开
新
窗口
被
拦截
的几种情况(使用的chrome浏览器,其他浏览器未测): 第一次:
window.open
(www.jb51.net),
打开
了新
窗口
,但是页面并没有加载出来,需要回车才能出来 解决方法:页面地址需要加上协议名称http://或者https:// 第二次:在ajax异步请求成功的回调函数中使用
window.open
方法,虽然加上了协议名称,但是,却并没有
打开
新
窗口
,在地址栏直接显示 被
拦截
的字样 解决方法:有两种: 1、将ajax异步请求改为同步请求 2、使用 var newWindow =
window.open
(“_b
Ajax请求响应中用
window.open
打开
新
窗口
被
拦截
的解决方法
一、问题描述 ajax 异步请求成功后需要新开
窗口
打开
url,使用的是
window.open
() 方法,但是会被浏览器给
拦截
了,需要用户点下。 二、问题分析 浏览器之所以
拦截
新开
窗口
是因为该操作并不是用户主动触发的,所以它认为这是不安全的就
拦截
了,即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger(‘click’)),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所以被
拦截
。 说明: 1、如果是在 这个中指定的 fun方法中
详解
window.open
被浏览器
拦截
的解决方案
现象 最近在做项目的时候碰到了使用
window.open
被浏览器
拦截
的情况,搞得人无比郁闷啊,虽然在自己的环境可以对页面进行放行,但是对用户来说,不能要求用户都来通过
拦截
。何况当出现
拦截
时,很多小白根本不知道发生了啥,不知道在哪里看被
拦截
的页面,简直悲催啊~~。 另外,可以发现,当
window.open
为用户触发事件内部或者加载时,不会被
拦截
,一旦将弹出代码移动到ajax或者一段异步代码内部,马上就出现被
拦截
的表现了。 原因分析&深入研究 当浏览器检测到非用户操作产生的新弹出
窗口
,则会对其进行阻止。因为浏览器认为这不是一个用户希望看到的页面。 比如对js中直接执行的,如下代码: js code
JS判断鼠标进入容器的方向与
window.open
新
窗口
被
拦截
的问题
主要给大家介绍了利用Javascript判断鼠标进入容器方向的方法,以及
window.open
新
窗口
被
拦截
的问题分析,文中给出了详细图文介绍和示例代码,相信对大家的理解和学习具有一定的参考借鉴价值,下面来一起看看吧。
JavaScript
87,901
社区成员
224,618
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章