是否可以使用JavaScript来更改页面的元标记?

2022-08-30 02:44:37

如果我在头部放一个div并显示:none,而不是使用JavaScript来显示它,这会起作用吗?

编辑:

我在AJAX中加载了东西。当我的AJAX更改网站的“主要”部分时,我也想更改元标记。


答案 1

是的,它是。

例如,要设置元描述:

document.querySelector('meta[name="description"]').setAttribute("content", _desc);

答案 2

是的,你可以这样做。

有一些有趣的用例:一些浏览器和插件解析元元素并更改它们对不同值的行为。

例子

Skype:关闭电话号码解析器

<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE">

iPhone:关闭电话号码解析器

<meta name="format-detection" content="telephone=no">

谷歌浏览器框架

<meta http-equiv="X-UA-Compatible" content="chrome=1">

移动设备的视口定义

<meta name="viewport" content="width=device-width, initial-scale=1.0">

这个可以通过JavaScript进行更改。请参阅: 修复了 iPhone 视口比例错误

元描述

某些用户代理(例如 Opera)使用书签的描述。您可以在此处添加个性化内容。例:

<!DOCTYPE html>
<title>Test</title>
<meta name="description" content="this is old">
<script type='text/javascript' src='http://code.jquery.com/jquery-1.8.2.js'></script>

<button>Change description</button>

<script type='text/javascript'>
$('button').on('click', function() {
    // Just replacing the value of the 'content' attribute will not work.
    $('meta[name=description]').remove();
    $('head').append( '<meta name="description" content="this is new">' );
});
</script>

因此,这不仅仅是关于搜索引擎。