使用JavaScript获取元数据 [英] Get metadata using javascript

查看:196
本文介绍了使用JavaScript获取元数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您的帮助将大大AP preciated

我有以下的code:这是假设从网站获得的元标记:

 函数计算(){
    //这得到标题:
    g_title =(''+ document.title时+'');
    g_title_count =(''+ document.title.split('')。长度+'');
    g_title_length =(''+ document.title.length +'')
    //这将检查所有的元标记:
    g_metadata = document.getElementsByTagName(元)[我]
    g_keywords =测试;
    如果(typeof运算g_metadata!='不确定'){
        如果(g_metadata){
            变种I = 0;
            对于(i = 0; I< = 10;我++){
                如果(g_metadata.name =='关键词'){
                    g_keywords [I] =(g_metadata.name [I] + g_metadata.content [I]);
                }
            }
        }
    }
}

按照上面的code指定此值返回当前的测试:

  document.form1.g_keywords.value = g_keywords

不过,我需要它来捕捉关键字元标记,描述和标题。

 <标题>试验1 LT; /标题>
< META NAME =关键词内容=测试2/>
< META NAME =说明内容=TEST3/>

,然后将其写入到一个表单:

 < textarea的名字=g_keywordsID =g_keywordsCOLS =80行=5的onchange =计算(this.form1)>< / textarea的>

目前,它的工作原理为标题,但不要让< META NAME =关键词内容=> 标签

 如果(g_metadata.name =='关键词'){
    g_keywords [I] =(g_metadata.name [I] + g_metadata.content [I]);
}

我已经创造了上述尝试过,但不知道如何执行它...

请帮忙 - 谢谢


解决方案

  //收集所有关键字
g_metadata = document.getElementsByTagName(元);
g_keywords = []; //应的阵列
VAR LEN = g_metadata.length;
对于(VAR I = 0; I< LEN,我++){
    如果(g_metadata [我]。名称=='关键词'){
        g_keywords = g_metadata [I] .content.split(,);
    }
}

我觉得应该是只有一个关键字<&荟萃GT; 标签,所有的关键字都列有以逗号分隔。
[演示]

Your help would be greatly appreciated

I have the following code: It is suppose to get the metatags from a website:

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]);
                }
            }
        }
    }
}

This value currently returns "test" as specified in the code above:

document.form1.g_keywords.value = g_keywords

However I need it to capture the keywords metatag, description and title.

<title>Test 1</title>
<meta name="keywords"content="test2" />
<meta name="description" content="test3" />

and then write it to a form:

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

It currently works for the Title but not to get the <meta name="keywords" content="" > tag

if (g_metadata.name == 'keywords') {
    g_keywords[i] = (g_metadata.name[i] + g_metadata.content[i]);
}

I have tried it by creating the above but are not sure how to execute it...

Please help - Thanks

解决方案

// 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(",");
    }
}​

I think there supposed to be only one keyword <meta> tag, and all the keywords are listed there separated by comma. [Demo]

这篇关于使用JavaScript获取元数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆