原生APP中js怎样与Android和ios进行交互

原生APP中js怎样与Android和ios进行交互,第1张

一、对于Android和ios我们要执行不同的 *** 作,下面是判断系统的js代码

// alert(ismobile(1)); 1表示Android,0表示ios

function ismobile(test){

var u = navigatoruserAgent, app = navigatorappVersion;

if(/AppleWebKitMobile/itest(navigatoruserAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/test(navigatoruserAgent))){

if(windowlocationhrefindexOf("mobile")<0){

try{

if(/iPhone|mac|iPod|iPad/itest(navigatoruserAgent)){

return '0';

}else{

return '1';

}

}catch(e){}

}

}else if( uindexOf('iPad') > -1){

return '0';

}else{

return '1';

}

}

二、js调用app端函数,下面是js代码

if(ismobile(1)==1){

AndroidsetTypeActivity(id,type,href);

}else{

jsToios(id,type,href);

}

setTypeActivity是Android端定义的函数,jsToios是ios端定义的函数,括号里是js端传递的参数。

三、至于js端怎样获取app端的数据,只需在js端提供给app端函数名字,在通知app端调用即可

四、还有一种方法可以不通过app的方法将数据传递给另一个页面,那就是通过URL的方式

在本页面将数据拼接在ip后面

在另外一个页面通过下面方法获取URL后的参数

function GetRequest() {

var url = locationsearch; //获取url中""符后的字串

var theRequest = new Object();

if (urlindexOf("") != -1) {

var str = urlsubstr(1);

strs = strsplit("&");

for(var i = 0; i < strslength; i ++) {

theRequest[strs[i]split("=")[0]]=decodeURIComponent(strs[i]split("=")[1]);

}

}

return theRequest;

}

// 获取URL参数

var Request = new Object();

Request = GetRequest();

var name;

name = Request['name'];

如何利用JS代码选取textarea中的指定行 实例名称

选取textarea中的指定行

实例描述

使用控件的focus或select方法,可以很方便地选取textarea的所有内容,但却无法实现某行的选取。本例讲解如何选取textarea中的指定行。

实例代码

<function getTxtRow(num, mytxt) 获取指定行的方法-第二个参数为文本框ID

{

获取文本框内当前光标的位置

var range = documentgetElementById(mytxt)createTextRange();

var rect = rangegetClientRects();返回一个矩形

var left = rect[0]left;

if(num > rectlength - 1 || num < 0)

return;

if(num == 0) 选择第一行的情况

{

设置选择范围

var right = rect[0]right;

rangemoveEnd("character",-rangetextlength);

while(rangeoffsetLeft + rangeboundingWidth < right)

{

rangeexpand("character");

}

return range;

}

else

{

设置选择范围

var right = rect[num]right;

var range = getTxtRow(num - 1, mytxt);

rangemoveStart("character",rangetextlength + 1);

while((rangeoffsetLeft + rangeboundingWidth) < right)

{

rangeexpand("character");

}

if(rangeoffsetLeft > left)

rangemoveStart("character",-1);

return range;

}

}

选择指定行数的方法

function getText(num)

{

var range = getTxtRow(num,"txt")调用真正的获取行方法

if(range != null) 如果指定的行内容不为空

{

alert(rangetext);

rangeselect(); 选择指定的行

}

}

</SCRIPT>

如何利用JS代码分行取textarea中的值

textarea是元素的一种,你的input框怎么取它就可以怎么取,可以通过id、name(不推荐)

如何利用JS代码冻结页面

利用js捕获窗口拖动的距离,并动态赋值给导航菜单的div,使其跟着走。 2、导航菜单是一个frameset框架,所以拖动scroll的时候,frame元素固定在最上层

如何在指定网页运行js代码

在指定页源代码插入JS代码

或者直接复制代码在地址栏运行

如何利用js代码判断是否移动端

<script type=text/javascript>

function browserRedirect() {

var sUserAgent = navigatoruserAgenttoLowerCase();

var bIsIpad = sUserAgentmatch(/ipad/i) == "ipad";

var bIsIphoneOs = sUserAgentmatch(/iphone os/i) == "iphone os";

var bIsMidp = sUserAgentmatch(/midp/i) == "midp";

var bIsUc7 = sUserAgentmatch(/rv:1234/i) == "rv:1234";

var bIsUc = sUserAgentmatch(/ucweb/i) == "ucweb";

var bIsAndroid = sUserAgentmatch(/android/i) == "android";

var bIsCE = sUserAgentmatch(/windows ce/i) == "windows ce";

var bIsWM = sUserAgentmatch(/windows mobile/i) == "windows mobile";

if (!(bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) ){

windowlocationhref=B页面;

}

}

browserRedirect(); </script>

如何利用Javascript动态加载广告联盟JS代码

例如搜狗联盟的广告代码如下,如何通过Javascript实现动态加载?

<script type=text/javascript> var sogou_ad_id=359733; var sogou_ad_height=250; var sogou_ad_width=300;</script><script src=:imagessohu/cs/jsfile/js/cjs></script>

js代码中,div里如何调用js代码?

假如你页面的js有定义过 xxx();这样的函数,

如果你div那里衔接需要

<a href = "javascript:xxx();"></a>。

如果是鼠标移上去的 就是 " onmuseover = javascript:xxx()"

鼠标移走 就是 " onmuseout = javascript:xxx()"。

注意一下大小写,

当然也可以在div里面加入

<script>

js代码

</script>这样调用。

如何利用JS代码传递百度推广URL跟踪参数

将网站上的商务通窗口的参数进行编号,

让程序写一段js可以获取百度推广URL的代码,放在网站商务通文件里面

你直接在你推广的网站中根据你需要监控的URL地址 设置代码 在百度统计中会有监控的数据

如何利用JS代码判断字符串中有多少汉字

<script>

var str='是对方234sdf/x&^%$'

var count=0

for(var a=0;a<strlength;a++){

var asc=strcharCodeAt(a)

if(asc>127){

count++

}

}

documentwrite(count)

</script>

js并不能实现如此的功能。

因为js文件本身就是被加载进来的,所以当js文件未被加载的时候,它是无法对之前加载进来的文件参考代码:

dcap = dict(DesiredCapabilitiesPHANTOMJS)

dcap["phantomjspagesettingsloadImages"] = False # 禁止加载,默认加载

dcap["phantomjspagesettingsresourceTimeout"] = 5000 # 超时时间,单位是 ms

if headers == None:

dcap["phantomjspagesettingsuserAgent"] = toolget_headers()

else:

dcap["phantomjspagesettingsuserAgent"] = headers

driver = webdriverPhantomJS(desired_capabilities=dcap)

driverget(url)

import pprint

pprintpprint(dir(driver))

try:

driverfind_element_by_css_selector('#mod_columns_tab')click()

except:

pass

if sellp_time:

timesleep(sellp_time)

html = driverpage_source

driverclose()

return html

<scripttype="text/javascript"><!--

function detectOS() {

isWindows = (navigatoruserAgentindexOf("Windows",0) != -1)1:0;

isMac = (navigatoruserAgentindexOf("mac",0) != -1)1:0;

isLinux = (navigatoruserAgentindexOf("Linux",0) != -1)1:0;

isUnix = (navigatoruserAgentindexOf("X11",0) != -1)1:0;

广义的html5包含以下内容:

html5:(一套语义化的标签,在html4的基础上增加的一些语义化的标签:如header,footer等让人一眼就能看明白是做什么的标签)。

css3:(在css2的基础增加了一些属性,比如圆角,阴影等等属性)。

javascript:(同样是在原来的基础上增加了一些新的api,如与html5的canvas标签对应的一套api)。

<scripttype="text/javascript">

<!--

function detectOS() {

isWindows = (navigatoruserAgentindexOf("Windows",0) != -1)1:0;

isMac = (navigatoruserAgentindexOf("mac",0) != -1)1:0;

isLinux = (navigatoruserAgentindexOf("Linux",0) != -1)1:0;

isUnix = (navigatoruserAgentindexOf("X11",0) != -1)1:0;

if (isWindows)

return"MS Windows";

if (isMac)

return"Apple Mac";

if (isLinux)

return"Lunix";

elseif (isUnix)

return"Unix";

return"Unknown";

}

//-->

</script>

var browser=navigatorappName

var b_version=navigatorappVersion

var version=parseFloat(b_version)

documentwrite("浏览器名称:"+ browser)

documentwrite("<br />")

documentwrite("浏览器版本:"+ version)

更多

documentwrite("<p>浏览器:")

documentwrite(navigatorappName + "</p>")

 

documentwrite("<p>浏览器版本:")

documentwrite(navigatorappVersion + "</p>")

 

documentwrite("<p>代码:")

documentwrite(navigatorappCodeName + "</p>")

 

documentwrite("<p>平台:")

documentwrite(navigatorplatform + "</p>")

 

documentwrite("<p>Cookies 启用:")

documentwrite(navigatorcookieEnabled + "</p>")

 

documentwrite("<p>浏览器的用户代理报头:")

documentwrite(navigatoruserAgent + "</p>")

以前看到过记下的,不知道好不好使。你试试,正好我看看好不好使

javascript 获取文件域 (type=file) 的完整路径一直是很麻烦的问题,问题主要出在一些浏览器基于安全性考虑而不能正常获取到文件域中选中的决对路径,尤其一些基于webkit的浏览器比如 Chrome, Safire等浏览器,下面是一个可以兼容 IE 6 , 7, 8 和 firefox 的获取 input file 完整路径的方法,该方法不支持 Chrome 和 Safire,要支持这些浏览器可能要使用到 Flash ,对程序员来说比较麻烦。

HTML页面:

<input type="file" name="attachment" id="attachment" />

<input type="text" name="trueattachment" id="trueattachment" />js部分:

<script type="text/javascript">

var attachment=documentgetElementById("attachment");

var trueattachment=documentgetElementById("trueattachment");

attachmentonchange=function(){

trueattachmentvalue=getFullPath(this);

}

function getFullPath(obj){

if(obj)

{

//ie

if (windownavigatoruserAgentindexOf("MSIE")>=1)

{

objselect();

return documentselectioncreateRange()text;

}

//firefox

else if(windownavigatoruserAgentindexOf("Firefox")>=1)

{

if(objfiles)

{

return objfilesitem(0)getAsDataURL();

}

return objvalue;

}

return objvalue;

}

}

</script>

以上就是关于原生APP中js怎样与Android和ios进行交互全部的内容,包括:原生APP中js怎样与Android和ios进行交互、如何利用JS代码选取textarea中的指定行、如何获取PhantomJS打开网页时加载的JS资源等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9495413.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存