导航:首页 > 编程语言 > iosjavascript

iosjavascript

发布时间:2023-04-17 04:14:41

⑴ 如何在iOS和Android上选择一个javaScript 引擎进行应用开发

参考如下内容:
主要有两种方法。一种是使用系统的浏览器组件(IOS中的和Android中的WebView),另一方法就是使用整合好的JavaScript引擎。
使用系统的浏览器组件比较容易实现但是更复杂,效率也低。 WebView提供了 addJavascriptInterface 把Java classes注入到JavaScript文本的方法。但是它只支持最原始的几种数据类型,因此也局限了API设计。并且在Android 2.3模拟器上不稳定,在真机上也会遇到 issue #12987的问题。在IOS上更糟 UIWebView没有公共的APIs支持JavaScript到Objective-C的交互(你必须使用似有的APIs才能达到与addJavascriptInterface相同的功能)。
PhoneGap 是基于 UIWebView and WebView的比较出名的项目。开发者被迫使用回调函数从JavaScript APIs得到返回值。这在游戏上效率极低,也更为复杂。
早期的ngCore同样依赖UIWebView来支持iOS。但是这个机制由于其糟糕的表现被取代。
为了获得更好的表现、灵活性、兼容性,嵌入全功能的JavaScript引擎变得更为有效。

⑵ ios手机怎么运行js

你必须先启用做和设置,才能从快捷指令运行 JavaScript。请参阅iphone 或 iPad 上“快捷指令”中的高级隐私和安旁盯全性设置。运胡和

⑶ 如何启用javascript在Safari和iOS设备

1. 随着在MacOS上的Safari。点击Safari菜单,选择"Preferences…"(或按Command+,)
如果您使用的是Windows上的Safari。点击Gear icon,选择"Preferences"。
2. "Preferences"窗口中选择"Security"选项卡。
"Security"选项卡部分"Web content"标记"Enable JavaScript"复选框。
3. 关闭Preferences弹出窗口,并刷新您的网页。
适用于iOS的Safari浏览器中的JavaScript启用(iphone, ipod, ipad)
1. 命中Settings图标。
2. 向下滚动,直到您看到"Safari"点击它调出选项页。
3. "JavaScript"选项,打开你做了iOS上的Safari中启用JavaScript。

⑷ ios里面怎样监听js的事件

在iOS开发之Objective-C与JavaScript交互操作 中我们可以通过 去实现在obj-C中获取到相关节点属性,添加javascript代码等功能。但是我们如何监听到javascript的响应事件呢。在MAC OS中有效的API去实现,但iPhone没有,但我们有一个技巧途径:
大概思路是:在JavaScript事件响应时,通过设置document.location,这会引发webview的一个delegate方法,从而实现发送通知的效果,即达到监听的目的。
1、在javascript与webView之间定一个协议约定:
myapp:myfunction:myparam1:myparam2
2、在javascript中添加代码:
document.location = "myapp:" + "myfunction:" + param1 + ":" + param2;

3、在webView的delegate方法webView:shouldStartLoadWithRequest:navigationType: 添加
- (BOOL)webView:(UIWebView *)webView2
shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType {

NSString *requestString = [[request URL] absoluteString];
NSArray *components = [requestString componentsSeparatedByString:@":"];

if ([components count] > 1 &&
[(NSString *)[components objectAtIndex:0] isEqualToString:@"myapp"]) {
if([(NSString *)[components objectAtIndex:1] isEqualToString:@"myfunction"])
{

NSLog([components objectAtIndex:2]); // param1
NSLog([components objectAtIndex:3]); // param2
// Call your method in Objective-C method using the above...
}
return NO;
}

return YES; // Return YES to make sure regular navigation works as expected.
}

⑸ iOS - OC 与 JS 交互六种方式总结

在 APP 中,免不了与 H5页面打交道,所以掌握 与 JS 交互就显的至关重要,本文总结了常见的与 JS 交互方式。

注意事项

在 OC 原生中

在 html 文件

早期的JS与原生交互的开源库很多都是用得这种方式来实现的,例如:PhoneGap、 WebViewJavascriptBridge 。

效果图

使用WKNavigationDelegate中的代理方法,拦截自定义的 URL 来实现 JS 调用 OC 方法。

注意点

关于如何区分执行不同的OC 方法,也与UIWebView的处理方式一样,通过URL 的host 来区分执行不同的方法:

JS 调用OC 方法后,有的操作可能需要将结果返回给JS。这时候就是OC 调用JS 方法的场景。
WKWebView 提供了一个新的方法 evaluateJavaScript:completionHandler: ,实现OC 调用JS 等场景。

注意点

运行结果

在iOS 7之后,apple添加了一个新的库JavaScriptCore,用来做JS交互,因此JS与原生OC交互也变得简单了许多。

首先导入JavaScriptCore库, 然后在OC中获取JS的上下文。

再然后定义好JS需要调用的方法,例如JS要调用share方法:
则可以在UIWebView加载url完成后,在其代理方法中添加要调用的share方法:

OC 调用 JS 方法有多种,首先介绍使用JavaScriptCore框架的方式。

使用JSContext 的方法 -evaluateScript ,可以实现 OC 调用 JS 方法

效果图

使用WKWebView的时候,如果想要实现JS调用OC方法,除了拦截URL之外,还有一种简单的方式。那就是利用WKWebView的新特性MessageHandler来实现JS调用原生方法。

创建 WKWebViewConfiguration 对象,配置各个API对应的MessageHandler。

然后在界面即将显示的时候添加MessageHandler

需要注意的是addScriptMessageHandler很容易引起循环引用,导致控制器无法被释放,所以需要移除MessageHandler

这里实现了两个协议 <WKUIDelegate,WKScriptMessageHandler> , WKUIDelegate 是因为我在JS中弹出了alert 。 WKScriptMessageHandler 是因为我们要处理JS调用OC方法的请求。

WKScriptMessage 有两个关键属性 name 和 body 。
因为我们给每一个OC 方法取了一个name,那么我们就可以根据name 来区分执行不同的方法。body 中存着JS 要给OC 传的参数。

关于参数body 的解析,我就举一个body中放字典的例子,其他的稍后可以看demo。
解析JS 调用OC 实现分享的参数:

message.boby 就是JS 里传过来的参数。我们不同的方法先做一下容错性判断。然后正常取值就可以了。

下面只列举一个shareClick()方法,其他看Demo

这里使用WKWebView 实现OC 调用JS方法与之前说的文章一样,通过
- evaluateJavaScript:completionHandler:

效果图如下图所示

详情看下面文章链接
iOS下 JS 与 OC 互相调用(五) - UIWebView+WebViewJavascriptBridge

详情看下面文章链接
iOS下 JS 与 OC 互相调用(六) - WKWebView+WKWebViewJavascriptBridge

iOS下 JS 与OC 互相调用(一) - UIWebView 拦截 URL
iOS下 JS 与OC 互相调用(二) - JavaScriptCore
iOS 下 JS 与 OC 互相调用(三) - WKWebView 拦截 URL
iOS下JS与OC互相调用(四)-MessageHandler
iOS下 JS 与 OC 互相调用(五) - UIWebView+WebViewJavascriptBridge
iOS下 JS 与 OC 互相调用(六) - WKWebView+WKWebViewJavascriptBridge

⑹ ios端对webapp注入javascript时需要注意哪些细节

. 必须要适配所有的智能手机设备
移动设备的屏幕是各式各样的,对设计影响较大的主要是屏幕分辨率、尺寸、屏幕方向这些因素。现在的iOS设备有320×480,640×960,1136×640,1024×768,2048×1536这些分辨率,3.5寸、4寸、7.9寸、9.7寸这些尺寸等,未来还有更大的尺寸。
所以,需要解决Web app在不同屏幕下的界面适配问题。
最佳解决办法有2个:
1、在写前端页面的时候,css 采用100%布局
2、采用html5技术来布局开发。

1.1 适配不同分辨率
通过响应式网页的设计方法提升页面在不同分辨率下的兼容性:

由于手机屏幕尺寸下,一般来说只能一个模块一个模块地从上到下排列。此时设计者就需要考虑模块摆放的优先级了。一般来说,用户重点关注的、最近更新、与用户相关的信息应该放在前面。

另外最好以主流分辨率480×800进行设计,对略高于和略低于该分辨率的屏幕可将界面元素进行缩放,对间距、边距进行适当调整。

所以,在设定容器、图片、文本框的宽度时最好避免使用px单位,使用%可使页面在不同分辨率屏幕下保持布局和页面结构不发生改变。

1.2 平板电脑

使用CSS3的媒体查询(media query)语句可获得浏览器的高宽和设备的像素比,并可根据开发者的需要对不同的设备应用不同的样式表。所以开发者可以控制一个页面在不同设备上的表现。

由于手机屏幕和平板电脑的屏幕尺寸和像素都相去甚远,所以为了充分利用平板电脑的大屏优势,以获得良好的用户体验,最好在两种设备上使用不同的界面布局。相信iOS用户都有这样的感觉:有的App只适配iPhone,在iPad上运行则无法布满屏幕,只能点“2X”按钮显示一个粗糙的界面。还有一种App可同时兼容iPhone和iPad,在手机和平板的屏幕上都能完美显示,用户也无需单独下载两个版本。很明显,后者使用起来更方便,更美观。

Mobile Web App使用媒体查询功能即可实现这种功能。那么在平板电脑上,有哪些需要注意的设计点呢?

因为平板电脑多在横屏下使用,所以使用分栏视图可在一个界面内显示两个层级的内容,码伍方便用户快速切换item。

首页多以宫格视图、Tab为主,微博、qq这种以内容为散岩主的界面将分栏视图作为默认首页也是可以的。在手机上最常使用的list在平板上就不是很常用了,整个屏幕显示list,不仅浪费空间,也没有分栏视图的操作高效。

需要注意的是,IE9以下的浏览器不支持media query.

1.3 横竖屏切换

由于目前还不能在webkit内核里禁止设备方向的旋转,所以如果用户的设备开启了屏幕方向根据重力自动旋转,那么运迟掘或行于浏览器的Web App也是会跟着旋转的。

如果能够捕捉到设备的方向,可以对横竖屏分别进行布局设计,但最好能保证界面风格和样式不会有大的变化。

反例就是iPhone的音乐App,在竖屏下会显示歌曲list,但是切换到横屏下显示专辑封面。两种界面风格跳动太大会导致部分用户不适应,以为是两个不同的页面。计算器App也只有在横屏下才显示科学计算模式,竖屏下用户根本无法切换到该模式,连引导也没有。

宫格视图是横竖屏切换最平滑的布局,看看iOS系统的主屏幕就知道了。一个个应用程序图标在横竖屏切换时,几乎只是图标旋转了一下方向。

还有一点就是切换到横屏时,可自动进入全屏模式以显示更多的内容。否则标题栏和底部栏将会占去很多空间

2.WebAPP的交互动效

受浏览器性能影响,很多Native App能实现的华丽动画在Web App项目里的表现并不是很好。所以应该果断去掉非必要的动效以保证Web App能够运行流畅。

因为很多动效会对用户起到很好的引导作用,如果没有这些动画,可能会导致用户对界面逻辑关系的理解产生混乱。这就对动效的设计提出了较高的要求。
总结了一下Web App的几点动效设计原则:
●尽量不使用不必要的动效。
●优先使用简单的动画。如平移、缩放。尽量避免使用3D动画。
●避免刷新页面。因为整个页面白屏,浏览器走进度条的体验会给用户浏览网页的感觉,而不是在使用app
●框架元素优先显示。只在内容加载区域显示loading动画
●避免跳变。在不影响性能的情况下,可尽量用缩放和平移动画,保证用户视觉焦点的延续性和理解的延续性。

●同类界面/对象,同层级界面/对象的动效保持一致。可帮助用户理解产品架构和导航逻辑。

●高层级界面的动效对应高级物理位置。如果左右平移的动画是用来切换上下一层级,那么首页应该是在最左边,如iOS。如果前后切换的动画是用来切换上下一层及,那么首页应该是在最上面,如Windows Phone。

3.WebAPP的内容布局和APP的风格要保持一致

讲导航和信息内容布局的文章众多,Mobile Web App既然要实现Native App的操作体验,照传统的移动客户端的设计模式去设计即可。只需要记住你设计的Web App需要运行在iOS, Android, Windows Phone等多个平台,多种设备上即可。

由于iOS相比其他平台,没有back按键,所以在iOS上运行需要保证界面内的导航能够实现闭环。所以Android上有些操作可以通过Menu键唤出,但是在iOS上就需要直接暴露出来。

下图左侧是Zaker的Android版,右侧是iPhone版。Android版的菜单栏需要点击Menu键才出现。

4.善于使用Native App的UI相关控件
使用Native App的UI控件,可以让Mobile Web App更有Native App的操作体验。常见的如Badge,Back button,Bubble,Picker,Indicator,Title bar,Dialog,Toast,Loading,Drap down to refresh,Notification等。下图分别是Facebook的Native App和Web App,由于后者使用了客户端常见的一些UI控件,所以用户很难从视觉上识别出后者是Web App.

避免使用传统的Web UI控件,如面包屑、文字链:

另外,在控件尺寸上也应该像Native App那样提供尽量大点击区域的控件。参照经验和各平台的官方人机界面指南,可以知道适合用户手指点击的尺寸应该在7-9mm之间,不能小于7mm。相邻点击控件的行距不应小于2mm。

5. WebAPP后期需要针对浏览器进行优化
为了兼顾浏览器的性能和交互,需要注意以下几点:
●页面使用尽量少的DOM元素;

0
posted @ 2015-04-08 18:16 小强好吃 阅读(16) 评论(0) 编辑 收藏

苹果手机如何启用java script

苹果手机IOS默认是开启java script的,它主要在浏览器里使用,所以使用的浏览器不同内启用方法不同:
对于容IOS自带浏览器的启动,依次点:
设置-safari-高级-javascript-然后打开就可以了。
新版IOS操作系统启动顺序是:
依次点 通用、安全、启用javascript就打开了。
qq浏览器的启动方法:
通过菜单-设置-设为默认浏览器这里来设置之后就能启用了。

⑻ 如何在iOS和Android上选择一个JavaScript 引擎进行应用开发

这是个比较专业的问题
首先我推荐一个:react native,facebook推出的一个跨平台解决方案,去年推出了iOS版,手机淘宝的有一个模块“猜你喜欢”就是用react native实现的,效果还不错,另外今年9月份,facebook推出了android版,大家不妨试一下,这里针对于webapp,做了一个比对:

相对于Webapp的优势:
不用Webview,彻底摆脱了Webview让人不爽的交互和性能问题;
有较强的扩展性,这是因为Native端提供的是基本控件,JS可以自由组合使用;
可以直接使用Native原生的「牛逼」动画(在FB Group这个app里面,面板滑出带一点果冻弹动,面板基于某个点展开这种动画随处可见,这种动画用Native code来做小菜一碟,但是用Web来做就难上加难)。
相对于Native app的优势:
可以通过服务端远程更新JS,进而直接更新app的页面;
相对于Webapp和Native的劣势:
扩展性仍然远远不如web,也远远不如直接写Native code;
从Native到Web,要做很多概念转换,势必造成双方都要妥协。最终web要用一套CSS的阉割版,Native要费劲地把这个阉割版转换成native原生的表达方式(比如iOS的Constraint\origin\Center等属性)。

另外我以前在CocoaChina上收藏过的一个帖子,整理了许多iOS和Android跨平台解决方案,感觉很不错,现在拿出来分享给大家,希望对题主有帮助。

1、jQuery Mobile

jQuery Mobile是jQuery 在手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。jQuery Mobile文档比较全面,同时有在线工具帮你快速创建自己中意的UI风格。

技术需求:HTML,CSS,jQuery
平台支持: 绝大多数移动浏览器

2、Corona SDK(使用Lua语言):

Corona SDK的优点:

稳定;支持硬件加速、GPS、指南针及照相机等;支持与Map、Facebook、OpenFient、GameCenter的集成;内建的物理集成;Lua语言比较容易学习;
已经有了一些很不错的应用,至少能够证明这个SDK是可以做出优秀应用来的;不错的社区支持。

Corona SDK不太好的地方:

只支持iOS和Android;Lua语言不是面向对象的;每年都要交授权费(99美元/年)。

另外还有其他的一些补充,比如:

对于Corona SDK不支持的第三方SDK没法自己去集成;编译项目的时候需要把代码上传到Corona的服务器上去编译,不能在本地直接编译;无法扩展Corona的功能;物理模块还有一些缺陷。

3、Airplay SDK(后来更名为Marmalade,不少大的公司在使用Airplay SDK,尤其适用于进行2D/3D游戏的开发)

目前使用Marmalade的游戏有《割绳子》、《植物大战僵尸》、《你猜我画》、Build 'n' Bash 3D、Catch the Monkey、Need for Speed Shift以及WorkSnug Pro等多款游戏。

Airplay SDK文档中还包含多个示例。“感觉受到限制”的开发者还可以在Airplay SDK上进行扩展。开发者需要对C++比较熟悉。

4、Appcelerator(Titanium)

Appcelerator允许使用HTML/Javascript来开发原生app,开发者可以免费使用。目前世界上185个国家中有超多46万的开发者在使用Appcelerator提供的解决方案。

Titanium为Appcelerator于2008年底所推出的跨平台应用程序开发解决方案,目前支持iOS/Android/Blackberry/WM7等行动平台,以及Windows/Linux/OS X这三种主流的桌上型平台。

⑼ 苹果手机如何运行js脚本运行

1、首先打开苹果手机,并进入浏览器主页。
2、其次点击敬渗浏览器的脚本运行功能。
3、最后键竖导入稿稿大js脚本,进行运行即可。

⑽ ios中怎么创建javascript

用webview直接打开升弊一个碰物网页,然后这个网页能够调用这个JS就可以了。 就是在webview 提交一个request 然吵吵族后 结果就在 respond 中。

阅读全文

与iosjavascript相关的资料

热点内容
616可用qq音乐 浏览:841
jscss换肤 浏览:194
手机qq今日访客怎么算 浏览:923
word表格中如何插入表格 浏览:230
u盘自动运行文件 浏览:228
没有配置文件怎么删除 浏览:275
office2010怎么设置密码 浏览:500
编程软件推荐哪个好 浏览:691
索佳电视系统升级 浏览:296
怎么覆盖文件表格视频 浏览:884
货车拉韵达快递用什么app 浏览:949
安庆5g网络什么时候上市 浏览:936
文件输出流的相对路径 浏览:288
苹果5c升级时打不开机怎么回事 浏览:52
台湾虾皮网站怎么发货 浏览:303
vs2008格式化代码快捷键 浏览:579
潮流声音聊天交友app有哪些 浏览:406
txd文件怎么打开 浏览:693
高仿微信聊天界面文件语音 浏览:398
网络电视如何搜到想要看的韩剧 浏览:425

友情链接