TLDR:告诉IE6/7用户以一种不错的方式离开:)同时阻止他们访问所有内容.
基本上我并不需要使用IE7/6下我的web应用程序的人.正在考虑在加载后进行doc.write擦除页面上的消息"抱歉你的浏览器已经过时"有人做过类似的事情并找到了一个友善的方式来告诉他们用更好的浏览器回来吗?
我目前正在使用jquery,因此jquery解决方案可行.
(1)最可靠的方法来检测浏览器?
(2)对用户提供什么的意见?
SCENARIO不是问题
如果需要,他们可以升级!
我有合理的理由这样做,所以保持ontopic的问题,不要发表关于IE6的一般主题的意见和你有多喜欢它.
为了确保AngularJS能否在我需要的浏览器上工作,我做了一个简单的数据绑定演示,可以在Firefox,Chrome和IE8 +上正常工作但我还需要在IE7上运行.不幸的是,我无法让它发挥作用.它只显示带有花括号的html,忽略ng-属性.
我已经在Internet Explorer上查看了几篇 关于AngularJS的帖子 , 并尝试了每个帖子的建议修复,但我的演示没有任何效果.
这是我演示的HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Angular IE7 Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<!--[if lt IE 9]>
<script type="text/javascript" src="angularjs/html5shiv.js"></script>
<![endif]-->
<!--[if lt IE 8]>
<script type="text/javascript" src="angularjs/json3.js"></script>
<![endif]-->
<script language="JavaScript" src="angularjs/angular.min.js"></script>
<script language="JavaScript" src="angularjs/test.js"></script>
</head>
<body class="ng-app">
<div ng-controller="serversCtrl">
<p>{{texto}}</p>
<table border="1">
<tbody>
<tr><th>Col1</th><th>Col2</th><th>Col3</th></tr>
<tr ng-repeat="item in items"><td>{{item.col1}}</td><td>{{item.col2}}</td><td>{{item.col3}}</td></tr>
</tbody>
</table>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是包含控制器和模型的test.js javascript:
function serversCtrl($scope, $http, $location) { …Run Code Online (Sandbox Code Playgroud) 我有一些代码这样做:
var changes = document.getElementsByName(from);
for (var c=0; c<changes.length; c++) {
var ch = changes[c];
var current = new String(ch.innerHTML);
etc.
}
Run Code Online (Sandbox Code Playgroud)
这适用于FF和Chrome,但不适用于IE7.大概是因为getElementsByName在IE中不起作用.什么是最好的解决方法?
几天前,我重新涂了我的网站.这个皮肤的开发主要是使用safari进行的,正如预期的那样,使用firefox和opera都可以很好地完成.我不得不为IE7做一些小调整,但没什么,除了一个问题......
在IE中,帖子的日期指示符被截断.这个问题似乎只发生在左浮动div内的嵌套span标签上.我想我需要浮动div来布局屏幕左侧和右侧的文本.
你们中的任何人都知道如何阻止IE7剪辑我的文字吗?
编辑:我有点放弃这个问题.我的脚本现在检查IE7并提供它有限的引擎可以处理的简化HTML.它适用于IE8,所以,就目前而言,只有IE7的特殊情况才能做到......
我不想为IE 6/7使用几个javascript插件.但我想将它们用于所有其他浏览器.
我该怎么做?有什么办法可以吗?
我知道position:fixed;在IE 7之前IE不支持,如果你有IE浏览器,它只适用于IE 7 STRICT DOCTYPE.
我的问题是:"如何让它与IE 7一起使用TRANSITIONAL DOCTYPE?"
请不要建议更改DOCTYPE,因为这不回答我的问题,谢谢.
我有一个页面,用户可以动态添加文件上传框.添加框会改变它们所处的div的高度,但是它下面的div的某些元素保持在同一个位置,因此它们开始与新的DOM元素重叠.
这在IE8,Firefox,Chrome中正常工作.如何强制IE7使用新的DHTML重排页面?
我制定的最佳解决方案是:
window.resizeBy(1, 0);
setTimeout(UndoResize, 0);
Run Code Online (Sandbox Code Playgroud)
但它不适用于最大化窗口(它恢复窗口).
我继承了一个Web应用程序,其中前端使用新的HTML5标签(标题,导航,部分标签)和新的CSS3样式属性(圆角边框).该网站在Google Chrome和Safari中看起来很棒.
但是,客户端现在抱怨IE7和IE8网站坏了.一切都不对齐,大多数样式都不呈现.
使这个网站在IE7和IE8中运行的最简单方法是什么?我是否必须:a)应用一些hack来使IE浏览器接受新的HTML5和CSS3功能?b)完全重写前端?
这是生成的html asp.net(删除了一些客户识别细节)
在Windows XP/IE 7中,单击图像不会执行任何操作.单击文本执行超链接.右键单击任意位置,然后选择open in new window或open也可以.
在其他浏览器中,它都按预期工作.
是否有任何简单的任何人可以看到我可以做到这一点,以使其在IE7中正常工作?
<div id="hdrXXX">
<a id="ctl00_XXX" title="XXX" class="hdrXXX" href="http://google.com" target="_blank">
<div style="float:left;display: block;">
<img id="ctl00_XXX" src="Images/XXX.png" style="border-width:0px;" />
</div>
<div style="float:left; display: block; padding:15px 0 0 0;">
<span id="XXX">Some text right here</span>
</div>
</a>
</div>
Run Code Online (Sandbox Code Playgroud) 我需要在背景图像中单击一个区域以生成一个JavaScript使用的事件.所以,我创建了一个锚标签,在里面我插入了一些语义无意义的标签之间的相关文本然后我隐藏了:
<a href="#"><i>foo</i></a>
Run Code Online (Sandbox Code Playgroud)
然后我给了锚标签'display:block'属性,宽度和高度值,并且绝对定位在我需要它与背景图像相关的位置.在Firefox中这很好用 - 我将鼠标悬停在上面,我的光标按预期变化 - 我有点可点击的东西.但是,IE7不喜欢锚标记为"空"的事实,因此不会将其视为可点击.所以我把它添加到css中的锚标签:
background:url(/no-image.jpg);
Run Code Online (Sandbox Code Playgroud)
...这似乎愚弄IE7,假设有东西存在.IE7现在将该区域视为可点击,即使锚标签实际上不存在背景图像.但这对我来说似乎有些黑客,我想知道是否有一种更优雅的方式来解决这个问题.任何想法将不胜感激.谢谢.
html css internet-explorer cross-browser internet-explorer-7