只要能避开myie 和 google 的搜索助手 就可以了

解决方案 »

  1.   

    自己模拟一个层,这样不会被拦截。 回复人: joe820302(joe) ( ) 信誉:99  
    这个主意不错 最好是让一定时间内消失或者 在层上定义消失事件
      

  2.   

    一般拦截弹出窗口是判断主窗口是否加载完毕,如果未完成就屏蔽弹出窗口.
    所以你不能在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;
    }
      

  3.   

    不用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="傻瓜">
      

  4.   

    此问题解决,用百度测试,请大家继续测试<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>
      

  5.   

    netyvon(网络风筝) 你的方法不错,可是我要传参数进去呀,这个怎么做呢?
     xkou(九天神龙) 这样可能还是会拦吧,
      

  6.   

    九天神龙的方法我用过,可以逃过google的屏蔽,其它的不怎么清楚了;
    建议你还是做一个屏蔽检测,然后定向到不同的页面;
      

  7.   

    不行呀,我试了不行,google的好像还是出不来呀
      

  8.   

    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="傻瓜">