你的页面访问了B啥意思?访问和操作有什么区别。必须借助B.
第一种方法、在a页面中为a定义一个名字:
   var myName='northsnow2004';
   window.name=myName
  然后当访问了B(什么叫访问,由你自己决定),修改a的名字:
   var strOpener="opener"
   for(var i=0;i<10;i++)
   {
       var openerWin=eval(strOpener);    
       if(openerWin) 
         {
           if(openerWin.name=='northsnow2004')
       openerWin.name='northsnow2005';
         }
       else
         {
      strOpener +=".opener";
}
     }在a中只要检查当前的名字与原来的名字是否相同就可以知道是否操作了B:
if(myName!=window.name)
{
  alert('小B被人骚扰了!');
}这种方法比较简单,但是要求a和B有直接或者间接的所有关系。第二种方法:利用session ,或者cookie
  首次进入A,或者进行了验证后需要将 session 或者 cookie 置一个初始值(以下以cookie为例,session更简单) :
var cookieValue='northsnow2004' 
saveCookie(cookieName,cookieValue)然后无论你怎么进入到b,此时 只要一操作,就要更改cookie的值:var cookieValue='northsnow2005' 
saveCookie(cookieName,cookieValue)
在a 中向判断是否操作了b就判断cookie的值是否改变:if(cookieValue!=getCookie(cookieName))
{
  alert('小B被人非礼了!');
}下面两个函数是为第二种方法提供的
//-------------------------------
//为了操作方便需要两个公共函数,
//保存cookie
var cookieName='precipitant';
function saveCookie(c_name,c_value)
 {
     
         document.cookie=c_name +"=" + escape(c_value) ;
 }取得cookie
function getCookie(c_name)
 {
      var strCookie=unescape(document.cookie);
      var strTT= c_name + "=";
      if(strCookie.indexOf(strTT)==-1) return ("");
      var strT1=strCookie.substring(strCookie.indexOf(strTT) + strTT.length)
      var strT2=strT1.substring(0,strT1.indexOf(";")) 
      return strT2;
 }
  //-------------------------- 
 

解决方案 »

  1.   

    访问了B页面之后就生成一个B的cookie
    之后在A中只要判断有没有B的cookie就可以了吧
      

  2.   

    就如xiongzai(熊仔) 所说的
    注意domain部分
    function SetCookie (name, value,expires,path,domain,secure)
    {
    var argv = SetCookie.arguments;
    var argc = SetCookie.arguments.length;
    var expires = (argc > 2) ? argv[2] : null;
    var path = (argc > 3) ? argv[3] : null;
    var domain = (argc > 4) ? argv[4] : null;
    var secure = (argc > 5) ? argv[5] : false;
    document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : "");
    }
      

  3.   

    多谢各位的解答,但你们所说的都是要在访问B后生成COOKIE,开始我就说了不能对B页面进行任何操作,如果能对B操作的话那这个问题就很简单也不需要劳烦各位了。precipitant(塞北的雪)的第1种方法没有这个问题,但是不能满足我第2个条件,希望大家再讨论下看还有没办法。当然我也知道条件很苛刻,但大家来这里都是讨论技术的,我只想知道到底有没办法实现这种功能。
      

  4.   

    PS:3楼问访问和操作有什么区别,我说的操作就是修改B页面。
    我刚想到了可以借助IE的历史记录来判断,不知此法是否可行?