本文目录一览:
- 1、我的js代码在ie6 和 ie7 能执行 在 ie8不能 有没有兼容的方法啊
- 2、为什么xss注入执行了,刷新就没了,对其他人没有影响
- 3、ie6不支持滤镜么,js里面只要有filters就执行不了,请问有没什么办法解决
- 4、一个页面,当浏览器是ie6 和 ie7时调用不同的js
我的js代码在ie6 和 ie7 能执行 在 ie8不能 有没有兼容的方法啊
IE8对Javascript的处理其实是有做优化的,性能应该比IE7强。由于IE8是新的引擎,很多非标准开发的网站无法在ie8中正常显示。你可以点击地址栏的右边一个小页面的图标如果它出现的话,也可以到工具中选择兼容性视图设置,然后选择在兼容性视图中显示所有网站,这样可以模拟ie7内核进行浏览。通过这样的方式看看是否可以正常运行。
为什么xss注入执行了,刷新就没了,对其他人没有影响
XSS注入的本质
就是: 某网页中根据用户的输入, 不期待地生成了可执行的js代码, 并且js得到了浏览器的执行. 意思是说, 发给浏览器的字符串中, 包含了一段非法的js代码, 而这段代码跟用户的输入有关.
常见的XSS注入防护, 可以通过简单的 htmlspecialchars(转义HTML特殊字符), strip_tags(清除HTML标签) 来解决, 但是, 还有一些隐蔽的XSS注入不能通过这两个方法来解决, 而且, 有时业务需要不允许清除HTML标签和特殊字符. 下面列举几种隐蔽的XSS注入方法:
IE6/7 UTF7 XSS 漏洞攻击
ie6不支持滤镜么,js里面只要有filters就执行不了,请问有没什么办法解决
1. 你可以给这段代码加上
try catch
2. 你可以判断,如果是ie6,就不执行filters
一个页面,当浏览器是ie6 和 ie7时调用不同的js
这个方法很多,
如果用服务器语言,这个很简单,这个我就不多说了,根据浏览器加载就行了,
我说一下js的实现吧,
script language="javascript"
var b_v = navigator.appVersion;
var IE6 = b_v.search(/MSIE 6/i) != -1;
var IE7 = b_v.search(/MSIE 7/i) != -1;
if (IE6)
{
document.writeln('script language="javascript" src="topie6.js"');
document.writeln('/scr' + 'ipt');
}
else if (IE7)
{
document.writeln('script language="javascript" src="topie7.js"');
document.writeln('/scr' + 'ipt');
}
else
{
//其它情况类推
}
/script
当然方法有很多,下面这个方法也可以放script标签.
var sobj = document.createElement('script');
sobj.type = "text/javascript";
sobj.src = path;
var headobj = document.getElementsByTagName('head')[0];
headobj.appendChild(sobj);
说实话这样做不是很好,也不专业,我们一般要求写一个js要兼容五个常用的浏览器,这个分开的话以后维护会有麻烦.
老兄保重
顺便鄙视一个楼上的 抄别人的答案,没意思,原文: