完成htc contextmenu.js鼠标右键显示错误 解决gis 画圆位置不对问题
2010-11-14 00:34
489 查看
昨天发现的contextmenu.js在ie6/7显示错误,但在ie8下是正常的。今天终于发现是因为array数组在ie6/7下面array[0]存的是方法,对应ie8的array [方法].所以ie6/7下面的数组实际是从array[1]开始的。以下附解决方案。
另外解决gis界面,画圆的位置不准确的问题,主要是因为在一个被嵌套的div层内,鼠标位置的计算是有点麻烦的。加上左边和上边被挤占的位置,最后的位置才是正确的。
<div id = 'a'>
<div id='b'>
b的位置clientX是相对于a计算而言的。
</div>
</div>
附加IE版本问题的解决方案:
如何让静态HTML代码根据不同IE版本显示不同内容。 这里的技巧就是利用IE的HTML注释表达式。
HTML 的注释格式是 <!-- Comment content --> , IE 对HTML注释做了一些扩展,使之可以支持条件判断表达式:
<!--[if expression]> HTML <![endif]--> 当表达式expression 为True 的时候,显示 HTML 内容。
例子:
view plaincopy to clipboardprint?
<!--[if IE 5]>
<p>Welcome to Internet Explorer 5.</p>
<![endif]-->
<!--[if IE 5]>
<p>Welcome to Internet Explorer 5.</p>
<![endif]-->
和编程语言类似,这里的表达式还支持大于(gt)、小于(lt)、 与或非 等操作符。 下面是一些例子。
[if IE] 判断是否IE
[if IE 7] 判断是否是IE7
[if !IE] 判断是否不是IE
[if lt IE 5.5] 判断是否是IE5.5 以下版本。 (<)
[if lte IE 6] 判断是否等于IE6 版本或者以下 (<=)
[if gt IE 5] 判断是否IE5以上版本 (> )
[if gte IE 7] 判断是否 IE7 版本或者以上
[if !(IE 7)] 判断是否不是IE7
[if (gt IE 5)&(lt IE 7)] 判断是否大于IE5, 小于IE7
[if (IE 6)|(IE 7)] 判断是否IE6 或者 IE7
代码示例:
view plaincopy to clipboardprint?
<!--[if IE]><p>You are using Internet Explorer.</p><![endif]-->
<![if !IE]><p>You are not using Internet Explorer.</p><![endif]>
<!--[if IE 7]><p>Welcome to Internet Explorer 7!</p><![endif]-->
<!--[if !(IE 7)]><p>You are not using version 7.</p><![endif]-->
<!--[if gte IE 7]><p>You are using IE 7 or greater.</p><![endif]-->
<!--[if (IE 5)]><p>You are using IE 5 (any version).</p><![endif]-->
<!--[if (gte IE 5.5)&(lt IE 7)]><p>You are using IE 5.5 or IE 6.</p><![endif]-->
<!--[if lt IE 5.5]><p>Please upgrade your version of Internet Explorer.</p><![endif]-->
<!--[if IE]><p>You are using Internet Explorer.</p><![endif]-->
<![if !IE]><p>You are not using Internet Explorer.</p><![endif]>
<!--[if IE 7]><p>Welcome to Internet Explorer 7!</p><![endif]-->
<!--[if !(IE 7)]><p>You are not using version 7.</p><![endif]-->
<!--[if gte IE 7]><p>You are using IE 7 or greater.</p><![endif]-->
<!--[if (IE 5)]><p>You are using IE 5 (any version).</p><![endif]-->
<!--[if (gte IE 5.5)&(lt IE 7)]><p>You are using IE 5.5 or IE 6.</p><![endif]-->
<!--[if lt IE 5.5]><p>Please upgrade your version of Internet Explorer.</p><![endif]-->
注:IE5 以下的版本不支持这种注释扩展。 不过现在也很难找到IE4了 ... :)
另外解决gis界面,画圆的位置不准确的问题,主要是因为在一个被嵌套的div层内,鼠标位置的计算是有点麻烦的。加上左边和上边被挤占的位置,最后的位置才是正确的。
<div id = 'a'>
<div id='b'>
b的位置clientX是相对于a计算而言的。
</div>
</div>
附加IE版本问题的解决方案:
如何让静态HTML代码根据不同IE版本显示不同内容。 这里的技巧就是利用IE的HTML注释表达式。
HTML 的注释格式是 <!-- Comment content --> , IE 对HTML注释做了一些扩展,使之可以支持条件判断表达式:
<!--[if expression]> HTML <![endif]--> 当表达式expression 为True 的时候,显示 HTML 内容。
例子:
view plaincopy to clipboardprint?
<!--[if IE 5]>
<p>Welcome to Internet Explorer 5.</p>
<![endif]-->
<!--[if IE 5]>
<p>Welcome to Internet Explorer 5.</p>
<![endif]-->
和编程语言类似,这里的表达式还支持大于(gt)、小于(lt)、 与或非 等操作符。 下面是一些例子。
[if IE] 判断是否IE
[if IE 7] 判断是否是IE7
[if !IE] 判断是否不是IE
[if lt IE 5.5] 判断是否是IE5.5 以下版本。 (<)
[if lte IE 6] 判断是否等于IE6 版本或者以下 (<=)
[if gt IE 5] 判断是否IE5以上版本 (> )
[if gte IE 7] 判断是否 IE7 版本或者以上
[if !(IE 7)] 判断是否不是IE7
[if (gt IE 5)&(lt IE 7)] 判断是否大于IE5, 小于IE7
[if (IE 6)|(IE 7)] 判断是否IE6 或者 IE7
代码示例:
view plaincopy to clipboardprint?
<!--[if IE]><p>You are using Internet Explorer.</p><![endif]-->
<![if !IE]><p>You are not using Internet Explorer.</p><![endif]>
<!--[if IE 7]><p>Welcome to Internet Explorer 7!</p><![endif]-->
<!--[if !(IE 7)]><p>You are not using version 7.</p><![endif]-->
<!--[if gte IE 7]><p>You are using IE 7 or greater.</p><![endif]-->
<!--[if (IE 5)]><p>You are using IE 5 (any version).</p><![endif]-->
<!--[if (gte IE 5.5)&(lt IE 7)]><p>You are using IE 5.5 or IE 6.</p><![endif]-->
<!--[if lt IE 5.5]><p>Please upgrade your version of Internet Explorer.</p><![endif]-->
<!--[if IE]><p>You are using Internet Explorer.</p><![endif]-->
<![if !IE]><p>You are not using Internet Explorer.</p><![endif]>
<!--[if IE 7]><p>Welcome to Internet Explorer 7!</p><![endif]-->
<!--[if !(IE 7)]><p>You are not using version 7.</p><![endif]-->
<!--[if gte IE 7]><p>You are using IE 7 or greater.</p><![endif]-->
<!--[if (IE 5)]><p>You are using IE 5 (any version).</p><![endif]-->
<!--[if (gte IE 5.5)&(lt IE 7)]><p>You are using IE 5.5 or IE 6.</p><![endif]-->
<!--[if lt IE 5.5]><p>Please upgrade your version of Internet Explorer.</p><![endif]-->
注:IE5 以下的版本不支持这种注释扩展。 不过现在也很难找到IE4了 ... :)
相关文章推荐
- zf-关于荆州首页鼠标移动到导航栏上去触发的js 显示 问题解决办法
- HTC Disire HD 自带天气显示当前城市不对的问题解决
- Android 6.0+ RecyclerView嵌套在ScrollView显示不全以及Android 7.0+ PopupWindow位置显示不对的问题解决
- JS获得鼠标位置(已经解决不同浏览器问题)
- Word2007“由于文件许可权错误,Word无法完成保存操作”问题的解决方法
- 微信js sdk invalid signature签名错误 问题解决
- 通过重建图标缓存文件来解决程序图标显示错误的问题
- IE11浏览器js加载数据不显示问题的解决
- 编译vs2008的程序总是跳过,显示“未能完成操作 未指定的错误”的解决办法 .
- js 百度地图第二次加载显示不全问题解决方案
- 【cocos2d-js系列问题】Cannot read property 'x' of null错误解决办法
- linq to sql统一更新方法,直接返回更新的对象(解决更新后再刷新数据错误显示问题)
- 解决当电脑打开比较东西后,鼠标拖动窗口会留下残影或窗口显示不了等问题
- ueditor的工具栏显示乱码解决方法 小问题.. 是你的页面编码与语言包js编码不符所导致的
- 问题描述: 安装&重启完成后,我输入命令xm list,提示错误 xm list Can't find hypervisor information in sysfs 解决方法: # mv /
- png图片透明色在IE6显示错误的问题解决方法
- ruby -- 问题解决(三)编码错误导致无法显示(1)
- Echarts结合百度地图绘制散点图,toolpit显示位置错位偏移问题解决
- 解决在Win7下使用schtasks命令显示 “错误:无法加载列表资源” 的问题