首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含有条件的<meta>元素

包含有条件的<meta>元素
EN

Stack Overflow用户
提问于 2011-12-30 03:58:46
回答 3查看 9.5K关注 0票数 3

首先,我已经做了一些谷歌‘和找到IE’条件评论‘,并理解它是不标准的。我也有这样的印象,没有标准的HTML 'IF‘,所以我的问题是我需要做些什么来达到同样的效果(也许Javascript?)

我想有条件地包含一个外部.html文件(来自选择的外部.html文件)。具体来说,每个外部文件只包含一行中的一个<meta>元素。或者,是否有可能在一个HTML文件中有多个内联的<meta>元素,并有条件地“选择”其中一个(实际上忽略了其他元素)?

基本上,我能做一些与这些伪代码示例之一相同的事情吗?

示例对外部文件使用伪代码..。

代码语言:javascript
复制
<html>
    <head>
        if some-condition
            <!--#include file="meta1.html" -->
        else
            <!--#include file="meta2.html" -->
        ...
    </head>
     ...
</html>

用于直接选择替代元素的替代示例(也是伪代码)..。

代码语言:javascript
复制
<html>
    <head>
        if some-condition
            <meta name="viewport" content="abc" />
        else
            <meta name="viewport" content="def" />
        ...
    </head>
     ...
</html>

注意:在任何情况下,<meta name属性都将始终是viewport --它只是需要更改的content属性,可能还需要一些其他属性。

编辑:主要条件是客户机的类型。一个例子是,为了帮助正确地调整安卓设备上web应用程序页面的大小,您可以将某些content数据用于只有安卓设备才能理解的viewport。对于传统的浏览器,我会为content设置一个默认的数据集(例如宽度/高度)。这也可以扩展到其他客户,如谷歌电视,iOS等。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-30 04:09:27

使用Javascript:

代码语言:javascript
复制
document.head.insertAdjacentHTML( 'beforeEnd', '<meta name="viewport" content="abc" />' );

演示:http://jsfiddle.net/ThinkingStiff/ccX5p/

票数 7
EN

Stack Overflow用户

发布于 2011-12-30 04:02:08

您可以很容易地使用javascript / jQuery完成这一任务。

设置条件,然后将append()设置为head

示例:

代码语言:javascript
复制
if(//condition here){
    $('head').append('<meta name="viewport" content="abc" />')
}

else{
    $('head').append('<meta name="viewport" content="def" />')
}
票数 1
EN

Stack Overflow用户

发布于 2011-12-30 08:00:35

如果您使用的是服务器端,比如asp或java,那么这件事对您来说就容易多了。

我认为您没有使用服务器端编码。

使用javascript获取浏览器名称(我猜是navigator.appname)。

然后,您可以使用DOM在<head>元素中添加<head>标记。

document.getElementsByTagNam('Head').appendChild(metaChild);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8676014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档