Javascript 从文本区域捕获标题和元标记

Javascript 从文本区域捕获标题和元标记,javascript,xhtml,asp-classic,Javascript,Xhtml,Asp Classic,我正在尝试捕获html 以及格式1中的元数据,但不确定如何执行 我的任务是这样做:document.write(document.form1.title)或document.write.texteara.(document.form1.title) 但这对我不起作用 <textarea name="textarea" id="textarea" cols="45" rows="5"><title>This is the title tag extracted<

我正在尝试捕获html

以及
格式1中的
元数据
,但不确定如何执行

我的任务是这样做:
document.write(document.form1.title)
document.write.texteara.(document.form1.title)
但这对我不起作用

  <textarea name="textarea" id="textarea" cols="45" rows="5"><title>This is the title tag extracted</title><meta name="keywords" content="test 1, test 2, test3" /></textarea>
  </label>
</form>
<script type="text/javascript" src="<%= g_page_site_actual %>/js/jquery-1.4.2.min.js"></script>
<script language="JavaScript"><!--
if (document.getElementsByName) {
  var metaArray = document.getElementsByName('Author');
  for (var i=0; i<metaArray.length; i++) {
    document.write(metaArray[i].content + '<br>');
  }

  var metaArray = document.getElementsByName('Description');
  for (var i=0; i<metaArray.length; i++) {
    document.write(metaArray[i].content + '<br>');
  }

  var metaArray = document.getElementsByName('Keywords');
  for (var i=0; i<metaArray.length; i++) {
    document.write(metaArray[i].content + '<br>');
  }
}
document.write(document.form1.title);
//--></script>
这是提取的标题标签

知道如何从textarea中捕获元数据吗?

textarea包含一个简单的文本字符串。没有元素或元数据

<textarea name="textarea" id="textarea" cols="45" rows="5"><title>This is the title tag extracted</title><meta name="keywords" content="test 1, test 2, test3" /></textarea>
然后,您可以像读取任何其他字段一样,使用
input.value
读取文本区域的内容

如果要将该字符串值解析为HTML文档并提取其中的一部分,则需要使用
element.innerHTML=value
将其写入元素,然后使用DOM方法从元素中提取数据:

var el= document.createElement('head');
el.innerHTML= document.getElementById('textarea').value;
alert(el.getElementsByTagName('title')[0].firstChild.value);
alert(el.getElementsByTagName('meta')[0].content);
不幸的是,IE不能做到这一点,因为它不能在
上设置
innerHTML
,或者设置许多其他不是普通块/内联元素的元素。要使其在IE上运行,您必须使用一个完整的新文档,以便内容进入(多么痛苦):


var iframe=document.getElementById('iframe');
iframe中的var idoc='contentDocument'?iframe.contentDocument:iframe.contentWindow.document;
编写(document.getElementById('textarea').value);
idoc.close();
警报(idoc.标题);
警报(idoc.getElementsByTagName('meta')[0].content);
在我看来,这不太可能是个好主意。难道您不能让服务器端生成一个页面来传递JavaScript需要以更方便JavaScript的方式使用的信息吗?例如,抛出一个JSON编码的查找,如:

<script type="text/javascript">
    var info= {
        "title": "This is the title tag extracted",
        "keywords": ["test 1", "test 2", "test3"]
    };
</script>

变量信息={
“标题”:“这是提取的标题标签”,
“关键词”:[“测试1”、“测试2”、“测试3”]
};
<iframe id="iframe"></iframe>
<script type="text/javascript">
    var iframe= document.getElementById('iframe');
    var idoc= 'contentDocument' in iframe? iframe.contentDocument : iframe.contentWindow.document;
    idoc.write(document.getElementById('textarea').value);
    idoc.close();
    alert(idoc.title);
    alert(idoc.getElementsByTagName('meta')[0].content);
</script>
<script type="text/javascript">
    var info= {
        "title": "This is the title tag extracted",
        "keywords": ["test 1", "test 2", "test3"]
    };
</script>