就是将一个网站的页面a嵌到另一个网站的一个网页b里(比如用iframe嵌入),然后在页面a中读取顶层页面的url,不知道怎么读,网页a是php页面,有一点就是页面a外面可能还有很多层页面,而不只是一层b页面 。如果需要使用javascript解决也行

解决方案 »

  1.   

    JS不行,行的话估计得乱套
    可以用PHP取上一层 $_SERVER['HTTP_REFERER'],这样是上一层的地址了。
      

  2.   

     $_SERVER['HTTP_REFERER']只能取得上一层url,但若是套了很多层的话就不行了,目前条件是不知道另一个网站会嵌几层
      

  3.   

    js的top.location.href可以取得同一网站的顶层页面url,但跨网站就不行了,郁闷
      

  4.   

    ..回答之前没看到lz回复
    跨域就没什么办法了,因为你访问不到。
    你这个需求有点hack的感觉啊,莫非想嵌入别人页面,然后控制别人的页面?
      

  5.   

    top.location不是在客户端获取的吗?我本来以为用它生成个表单再提交到我的服务器就可以了,没想到跨站top不能用了,不知道是不是js不支持跨站的原因
      

  6.   

    如果你是多程嵌套的话只能是JS
    function ref(obj,fref){
    reff = obj.referrer;
    if(parent.obj!="undefined"&&parent.obj!=null){
    alert(parent.obj);
    return ref(parent.obj,reff);
    }else
    {
    return reff;
    }
    }
    document.write(ref(document));没有尝试过,不知道行不行
      

  7.   

    parent.location.href;
    有多少层就一直.parent
      

  8.   

    由于是跨网站所以parent.obj貌似不能正常使用,所以你的代码只能读取上一页面的url,不知道有没有办法改下
      

  9.   

    跨网站parent貌似不能正常使用啊,还有其他办法吗?
      

  10.   

    参考一下这个
    <iframe id="testIframe" src="www.sina.com" width="100%"></iframe>
    <input type="button" value="button" onclick="show()"/>
    <script language="javascript">
    function show()
    {
    alert(document.all["testIframe"].src);
    }
    </script>
      

  11.   

    别折腾了,跨域访问是危险操作。ie貌似可以,firefox就别想了。