首页 > 编程知识 正文

js兼容ios,js兼容性问题有哪些

时间:2023-12-28 11:56:40 阅读:327514 作者:OSMR

本文目录一览:

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()问题的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。