如何获取页面中的meta信息。

解决方案 »

  1.   

    父页面中有iframe(src=son.html)
    在son.html中如何获取父页面的meta信息。
    metas = window.parent.document.getElementsByTagName("meta")
    for(i=0;i<metas.length;i++)
    {
    alert(metas[i].getAttribute("name"))
    alert(metas[i].getAttribute("content"))
    }metas[i].setAttribute("content","new value")
      

  2.   

    code=C#]
    public static string GetSingleTagValueByAttr(string inputstring, string tagName, string attrname, string key)
    [
    Regex reg = new Regex("<" + tagName + " [^<>]*>", RegexOptions.IgnoreCase);
    MatchCollection matchs = reg.Matches(inputstring);
    string result = string.Empty;
    foreach (Match match in matchs)
    {
    string matchValue = match.Value;
    Regex regValue = new Regex("content=".*"", RegexOptions.IgnoreCase);
    if (matchValue.ToLower().IndexOf(attrname.ToLower() + "="" + key.ToLower() + """) != -1)
    {
    if (regValue.IsMatch(matchValue))
    {
    result = regValue.Match(matchValue).Value;
    if (!string.IsNullOrEmpty(result))
    {
    result = result.Replace("CONTENT=", "").Replace("content=","").Replace(""", "");
    }
    }
    return result;
    }
    }
    return null;
    }//使用举例://获取关键词
     GetSingleTagValueByAttr(data, "meta", "name", "Keywords"); data是HTML源代码
    //获取描述
    GetSingleTagValueByAttr(data, "meta", "name", "Discription");//读取封闭标签的内容:
    private string GetFixTagContent(string inputstring,string tagName)
    {
    string leftTag = "<" + tagName + ">";
    string rightTag="";Regex reg = new Regex("<" +tagName+"[^<>]*>(.|\n)*" + rightTag,RegexOptions.IgnoreCase);
    return reg.Match(inputstring).Value.Replace(leftTag, "").Replace(rightTag, "");
    }
    //使用举例:
    string title=GetFixTagContent(sourceHTML,"title");
    [/code]{
      

  3.   

    metas = document.getElementsByTagName("meta")