How to check for existing meta tag before generati

2019-06-14 17:51发布

I'm developing a widget that creates basic SEO tags that could already exist on a page so I'm wanting to make sure the widget checks for existing tags before the new tag is generated.

For example, one of the tags that the widget produces is

<meta name="description" content="Description of the webpage"/>

Since this tag is one that most pages already have, is there a way to use javascript to check for the tag before writing it?

3条回答
你好瞎i
2楼-- · 2019-06-14 18:44

This will return the first meta tag found on a page.

var tag = document.getElementsByTagName("meta")
  if(tag[0]) {
    console.log('found ' + tag[0]);
  } else {
    console.log("Not found")
  }

http://plnkr.co/edit/Gj9x5l8yS9xh2BoWkAm8?p=preview

查看更多
beautiful°
3楼-- · 2019-06-14 18:55

Here is the plain Javascript solution (no libraries):

Check for the meta description element using: document.querySelector("meta[name=description]");

If found, access its content attribute using .getAttribute("content").

Demo:

if(document.querySelector("meta[name=description]")){

  if(document.querySelector("meta[name=description]").getAttribute("content") === "Description of the webpage")

    console.log("meta description with content 'Description of the webpage' found");
    // do something

}
else{

  console.log("meta description not found");
  // do something

}
<meta name="description" content="Description of the webpage"/>

Read up:

Source

查看更多
Bombasti
4楼-- · 2019-06-14 18:58

Sure its possible. Just use something like:

var description = $('meta[name=description]').attr("content");

Check the fiddle: https://jsfiddle.net/034ghy1y/

查看更多
登录 后发表回答