1. 基本上与Safari PC一致。除了其完全不能响应onmouseout,网上很多说不能响应onmouseover,但我尝试之下是可以相应的,基本上跟onclick一致。但是onmouseout完全不能。
2. document.layer 不可用
3. 函数调用大小写敏感
4. 没有:hover状态,不过可以通过iphone的ontouchstart和ontouchend两个独有的事件来模拟触屏特效。(在这里我们认为悬停动作就是手一直按着)
5. 不同的方向使用不同的样式
<link rel="stylesheet" media="all and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait)" href="ipad-portrait.css"><link rel="stylesheet" media="all and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:landscape)" href="ipad-landscape.css">
6. navigator.userAgent 获取浏览器信息。例如,
if(navigator.userAgent.indexOf('iPad') > -1){...}
7. 通过元素的style属性来修改visibility属性,元素本身不支持visibility
8. safari的js不支持直接通过父元素对象"."子元素的id来获取子元素, 但是,可以通过Frame的Name然后点控件id来得到控件对象。
9. 在asp中Request.ServerVariables("HTTP_USER_AGENT")可以得到浏览器的userAgent字符串,从而判断客户端浏览器类型,instr可以用来解析字符串,功能类似java的Strng.indexof方法。传入两个参数,第一个是被查找的字符串,第二个是要 查找的字符串,返回第一个满足的条件index,找不到返回0
10. 使用XPathEvaluator对象去替换ActiveXObject("Microsoft.XMLDom")对象.
11. 如果一个窗口不是js创建的则不支持window.close();可以通过以下方式绕过此安全限制,
top.window.opener = null;top.window.open('','_self',''); top.window.close();
12. window.open('','mainwindows','fullscreen')在safari下不能打开全屏,但是ipad浏览本身就是全屏的,所以问题不大
13. 对于向Select元素赋值,如果该值不匹配任何option子元素的value,那么在IE下select元素的value为空,而Safari下select元素的value为以前值
14. 不支持Frame的滚动条,DIV可以响应滚动条事件,但是Frame不能。不支持<Object>, <embed>的滚动条。