How to display browser specific HTML?(如何显示浏览器特定的 HTML?)
问题描述
我正在尝试找到一种方法,使用 javascript 或条件注释(或任何其他方式)显示一个指向 IE 用户的链接和指向所有其他浏览器的另一个链接.
I'm trying to find a way to display one link to an IE user and another link to all other browsers using javascript or conditional comments (or whatever it takes).
基本上...
//pseudo code
<!--[if IE]>
<a href"ie-only.html">click here!</a>
<!--[else]>
<a href"all-other-browsers.html">click here!</a>
<![endif]-->
我认为条件注释标签无法做到这一点(仅适用于 Internet Explorer).另外,我认为没有其他"声明.
I don't think this is possible with conditional comment tags (which only work in internet explorer). Plus I don't think there is an "else" statement.
有没有办法用 javascript 做到这一点?请帮忙!谢谢!
Is there a way to do this with javascript? Please help! Thanks!
推荐答案
我认为条件注释标签无法做到这一点(仅适用于 Internet Explorer)
I don't think this is possible with conditional comment tags (which only work in internet explorer)
确实如此.您只需将非 IE 浏览器的内容保留在某个位置,使其成为条件注释子句的一部分,但实际上不在 <!-- 注释 --> 内.然后不知道条件注释的浏览器会很好地看到内容.这被称为 downlevel-revealed条件注释.
Sure it is. You just have to leave the content for non-IE browsers in a position such that it's part of a conditional comment clause but not actually inside a <!-- comment -->. Then browsers that don't know about conditional comments will see the content fine. This is known as a downlevel-revealed conditional comment.
不幸的是,Microsoft 给您的标记是无效的 HTML(甚至不是格式良好的 XML).要使其通过集合,您只需要一些额外的--":
Unfortunately the markup Microsoft give you there is invalid HTML (and not even well-formed XML). To make it pass muster you just need a few additional ‘--’s:
<!--[if IE]> This is IE! <![endif]-->
<!--[if !IE]><!--> This ain't IE! <!--<![endif]-->
虽然我不得不回应 AnonJr 的不回答,但与其他浏览器相比,您很少需要一个完全独立的 IE 链接/页面.如果你正在做一些棘手的事情,比如复杂的 VML 和 ActiveX 在 IE 中使用 Flash 在其他浏览器上工作,我想这可能是有原因的,但通常在同一个基本页面上进行一些 CSS 和脚本 hack 就足够了.
Although I have to echo AnonJr's non-answer, in that it's rare you should need a completely separate link/page for IE compared to other browsers. If you're doing something tricky like complex VML and ActiveX work in IE with Flash on other browsers I guess there could be a reason for it, but usually a few CSS and script hacks over the same basic page should suffice.
这篇关于如何显示浏览器特定的 HTML?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何显示浏览器特定的 HTML?
基础教程推荐
- html表格如何通过更改悬停边框来突出显示列? 2022-01-01
- 我可以在浏览器中与Babel一起使用ES模块,而不捆绑我的代码吗? 2022-01-01
- 直接将值设置为滑块 2022-01-01
- 如何使用JIT在顺风css中使用布局变体? 2022-01-01
- 用于 Twitter 小部件宽度的 HTML/CSS 2022-01-01
- Chart.js 在线性图表上拖动点 2022-01-01
- 如何使用TypeScrip将固定承诺数组中的项设置为可选 2022-01-01
- Electron 将 Node.js 和 Chromium 上下文结合起来意味着 2022-01-01
- 自定义 XMLHttpRequest.prototype.open 2022-01-01
- Vue 3 – <过渡>渲染不能动画的非元素根节点 2022-01-01