我需要在自己的网站通过iframe来加载百度网盘共享文件http://pan.baidu.com/netdisk/singlepublic?fid=873143_1777503244#dir请问如何控制高度请高手支招,最好给出代码谢谢。

解决方案 »

  1.   

    跨域很难搞,我给你提供一种思路 使用WebClient来完成跨域页面的加载然后结合js来处理 ,下面是我测试的代码  protected void Page_Load(object sender, EventArgs e) {
                string html = GetCrossPageHtml("http://pan.baidu.com/netdisk/singlepublic?fid=873143_1777503244#dir");
    //修改相对路径为绝对路径
                html = Regex.Replace(html, "(href|src)=\"([^\\\"]*)\"|(href|src)=([^\\\"]*)", "$1=\"http://pan.baidu.com/$2\"");
                html = Regex.Replace(html, "<![^>]*>", string.Empty);
                //html = Regex.Replace(html, "<meta[^>]*/>", string.Empty);            
                literalHtml.Text = html;
            }
            /// <summary>
            /// 获取跨域页面
            /// </summary>
            /// <returns>Html</returns>
            private string GetCrossPageHtml(string url) {
                using (WebClient wc = new WebClient()) {
                    wc.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; )");
                    var data = wc.DownloadData(url);
                    return Encoding.UTF8.GetString(data);
                }
            }<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script src="Scripts/jquery-1.7b2.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(function () {
                $(document).ajaxSend(function (e, xhr, settings) {
                    settings.url = "http://pan.baidu.com" + settings.url;
                    //alert(settings.url);
                });
            });    
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <%--跨域Html代码--%>
            <asp:Literal ID="literalHtml" runat="server" EnableViewState="false" />
        </div>
        </form>
    </body>
    </html>