首先,我已经做了一些谷歌‘和找到IE’条件评论‘,并理解它是不标准的。我也有这样的印象,没有标准的HTML 'IF‘,所以我的问题是我需要做些什么来达到同样的效果(也许Javascript?)
我想有条件地包含一个外部.html文件(来自选择的外部.html文件)。具体来说,每个外部文件只包含一行中的一个<meta>元素。或者,是否有可能在一个HTML文件中有多个内联的<meta>元素,并有条件地“选择”其中一个(实际上忽略了其他元素)?
基本上,我能做一些与这些伪代码示例之一相同的事情吗?
示例对外部文件使用伪代码..。
<html>
<head>
if some-condition
<!--#include file="meta1.html" -->
else
<!--#include file="meta2.html" -->
...
</head>
...
</html>用于直接选择替代元素的替代示例(也是伪代码)..。
<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等。
发布于 2011-12-30 04:09:27
使用Javascript:
document.head.insertAdjacentHTML( 'beforeEnd', '<meta name="viewport" content="abc" />' );演示:http://jsfiddle.net/ThinkingStiff/ccX5p/
发布于 2011-12-30 04:02:08
您可以很容易地使用javascript / jQuery完成这一任务。
设置条件,然后将append()设置为head。
示例:
if(//condition here){
$('head').append('<meta name="viewport" content="abc" />')
}
else{
$('head').append('<meta name="viewport" content="def" />')
}发布于 2011-12-30 08:00:35
如果您使用的是服务器端,比如asp或java,那么这件事对您来说就容易多了。
我认为您没有使用服务器端编码。
使用javascript获取浏览器名称(我猜是navigator.appname)。
然后,您可以使用DOM在<head>元素中添加<head>标记。
document.getElementsByTagNam('Head').appendChild(metaChild);
https://stackoverflow.com/questions/8676014
复制相似问题