本文目录一览:
- 1、JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
- 2、reactjs ios上兼容吗
- 3、如何调试苹果手机浏览器的js 兼容问题?
- 4、ios 能兼容所有js语言么,比如jquery
- 5、如何用js调用ios
- 6、javascript时间不兼容ios怎么办
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
var
date
=
new
Date('2016-11-11
11:11:11');
document.write(date);
最近在写一个时间判断脚本,需要将固定好的字符串时间转换为时间戳进行比较,在做的时候个人习惯使用chrome作为调试工具,代码基本完成之后,一切正常;
使用其他浏览器访问,好嘛,IE跟safari都不兼容,返回错误"Invalid
Date"。
想着估计是字符串格式的问题,改成'2016/11/11
11:11:11'再测试,结果正常,以为这样应该没问题了,再用手机浏览器继续访问,android正常,iPhone继续报错,
再改"Nov
11
2016
11:11:11",照样报错,怎么改都不行
绞尽脑汁,最后还是在论坛上看到了这样一种解决方案:
var
arr
=
"2016/11/11
11:11:11".split(/[-
:
\/]/),
date
=
new
Date(arr[0],
arr[1]-1,
arr[2],
arr[3],
arr[4],
arr[5]);
document.write(date);
终于可以兼容所有浏览器咯,结论:
iPhone中的safari无法解释
YYYY-MM-DD
HH:mm:ss
或者YYYY/MM/DD
HH:mm:ss这样的时间格式,而谷歌火狐等浏览器对这样的格式做了扩展,
iPhone中的safari所支持的格式为
YYYY,MM,
DD,HH,mm,ss,这个问题纠结我大半天,真的好想把苹果的程序员拉出去枪毙10分钟,太TM特立独行了。气人
以上所述是小编给大家介绍的JS
IOS/iPhone的Safari不兼容Javascript中的Date()问题的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
reactjs ios上兼容吗
是兼容的,没问题。浏览器可以用reactJS,app可以用react-native都是可以的。
如何调试苹果手机浏览器的js 兼容问题?
safari的开发者工具应该也有移动端视图模式?我只用过chrome,chrome是有移动端模式调试的。
ios 能兼容所有js语言么,比如jquery
主流的ios和android浏览器都使用webkit内核,对js的支持都很好jquery当然也支持,不过考虑到移动设备对流量的限制,一般是用jquerymobile或zepto什么的代替jquery
如何用js调用ios
基本流程:
先看一下Web中,我们给h1标签添加一个onclick事件,让它在被点击之后,修改当前的url。
Web中的HTML代码:
html
head
script
function getInfo(name)
{
window.location = "/getInfo/"+name;
}
/script
/head
body
h1 onclick="getInfo('why')"Name/h1
/body
/html
iOS中,先拖拽WebView,访问localhost,然后通过WebView的委托事件监听url跳转操作,并且把跳转截取下来。
也就是说,在onclick的时候,普通浏览器灰跳转到那个url,但是在iOS的这个WebView里面,这个跳转会被拦截,
用这种方式可以巧妙地实现JS调用iOS的原生代码:
//
// DWViewController.m
// DareWayApp
//
// Created by why on 14-6-3.
// Copyright (c) 2014年 DareWay. All rights reserved.
//
#import "DWViewController.h"
@interface DWViewController ()
@property (weak, nonatomic) IBOutlet UIWebView *myWebview; // 主页面
@end
@implementation DWViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// 适配iOS6的状态栏
if ([[[UIDevice currentDevice] systemVersion] floatValue] = 7) {
_myWebview.frame = CGRectMake(0,20,self.view.frame.size.width,self.view.frame.size.height-20);
}
// 加载制定的URL
NSURL *url =[NSURL URLWithString:@""];
NSURLRequest *request =[NSURLRequest requestWithURL:url];
[_myWebview setDelegate:self];
[_myWebview loadRequest:request];
}
// 网页中的每一个请求都会被触发
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
// 每次跳转时候判断URL
if([request.mainDocumentURL.relativePath isEqualToString:@"/getInfo/why"])
{
NSLog(@"why");
return NO;
}
return YES;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
javascript时间不兼容ios怎么办
var date = new Date('2016-11-11 11:11:11'); document.write(date); 最近在写一个时间判断脚本,需要将固定好的字符串时间转换为时间戳进行比较,在做的时候个人习惯使用chrome作为调试工具,代码基本完成之后,一切正常;使用其他浏览器访问,好嘛,IE跟safari都不兼容,返回错误"Invalid Date"。想着估计是字符串格式的问题,改成'2016/11/11 11:11:11'再测试,结果正常,以为这样应该没问题了,再用手机浏览器继续访问,android正常,iPhone继续报错,再改"Nov 11 2016 11:11:11",照样报错,怎么改都不行绞尽脑汁,最后还是在论坛上看到了这样一种解决方案:var arr = "2016/11/11 11:11:11".split(/[- : \/]/), date = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]); document.write(date); 终于可以兼容所有浏览器咯,结论:iPhone中的safari无法解释 YYYY-MM-DD HH:mm:ss 或者YYYY/MM/DD HH:mm:ss这样的时间格式,而谷歌火狐等浏览器对这样的格式做了扩展,iPhone中的safari所支持的格式为 YYYY,MM, DD,HH,mm,ss,这个问题纠结我大半天,真的好想把苹果的程序员拉出去枪毙10分钟,太TM特立独行了。气人以上所述是小编给大家介绍的JS IOS/iPhone的Safari不兼容Javascript中的Date()问题的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!