使用javascript获取元数据

Ger*_*ira 1 javascript asp-classic

非常感谢您的帮助

我有以下代码:假设从网站获取元标记:

function calculate() {
    // This gets the title:
    g_title = ('' + document.title + '');
    g_title_count = ('' + document.title.split(' ').length + '');
    g_title_length = ('' + document.title.length + '')
    // This checks all the MetaTags:
    g_metadata = document.getElementsByTagName("meta")[i];
    g_keywords = "test";
    if (typeof g_metadata != 'undefined') {
        if (g_metadata) {
            var i = 0;
            for (i = 0; i <= 10; i++) {
                if (g_metadata.name == 'keywords') {
                    g_keywords[i] = (g_metadata.name[i] + g_metadata.content[i]);
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

该值当前返回上面代码中指定的"test":

document.form1.g_keywords.value = g_keywords
Run Code Online (Sandbox Code Playgroud)

但是我需要它来捕获关键字元标记,描述和标题.

<title>Test 1</title>
<meta name="keywords"content="test2" />
<meta name="description" content="test3" />
Run Code Online (Sandbox Code Playgroud)

然后将其写入表单:

<textarea name="g_keywords" id="g_keywords" cols="80" rows="5" onchange="calculate(this.form1)"></textarea>
Run Code Online (Sandbox Code Playgroud)

它目前适用于Title但不能获得<meta name="keywords" content="" >标签

if (g_metadata.name == 'keywords') {
    g_keywords[i] = (g_metadata.name[i] + g_metadata.content[i]);
}
Run Code Online (Sandbox Code Playgroud)

我通过创建上面的内容尝试了它但不确定如何执行它...

请帮忙 - 谢谢

gbl*_*zex 6

// Collect all keywords
g_metadata = document.getElementsByTagName("meta");
g_keywords = []; // should be an array
var len = g_metadata.length;
for (var i = 0; i < len; i++) {
    if (g_metadata[i].name == 'keywords') {
        g_keywords = g_metadata[i].content.split(",");
    }
}?
Run Code Online (Sandbox Code Playgroud)

我认为应该只有一个关键字<meta>标签,并且所有关键字都以逗号分隔. [ 演示 ]