js代码

Android-webview和js互相调用

和自甴很熟 提交于 2020-02-10 03:35:20
Android-webview和js互相调用 Android 和 H5 都是移动开发应用的非常广泛。市面上很多App都是使用Android开发的,但使用Android来开发一些比较复杂附属类,提示性的页面是得不偿失的。而H5具有开发速度快,更新不用依赖于App的更新,只需要服务端更新相应的页面即可,所以,App和H5页面相结合就显得尤为重要。而android和H5都不可能每次都是独立存在的,而是相互影响也相互的调用,获取信息等,例如,H5页面要获取App中的用户的基本信息,或者App端要操作H5页面等,下面来看看这两是怎么交互的。 先来看一下项目的整体架构(Android studio中的项目) 整个项目的结构就是这样的,里面最主要的就是assets下面的js_webView.html文件和代码中的WebViewJsActivity,其中项目里面的MainActivity只是做了个跳转而已,跳转到WebViewJsActivity。就这样。 下面上代码:(js_webView.html) html里面的代码也比较简单,整个html中就一个Button,点击这个Button的时候去执行javascript中的 jsCallAndroid() 方法。 网页中有关 javascript 的代码也比较简单,整个 js 就2个方法,一个是 jsCallAndroid() ,一个是

Android和JS代码互相调用

巧了我就是萌 提交于 2020-02-10 03:31:44
Android本地调用JS webView.loadUrl("javascript:showMsg()"); JS调用Android本地代码 Android本地代码 webView.getSettings().setJavaScriptEnabled(true); webView.addJavascriptInterface(new MyJSObject(), "MyJSObject"); class MyJSObject{ /** * web页面js调用本地方法 * * void */ @JavascriptInterface public void cameraShow(){ Toast.makeText(MainActivity.this, "JS调用本地代码成功", Toast.LENGTH_SHORT).show(); } } html代码 <%@page language="java" contentType="text/html; charset=utf8"%> <!DOCTYPE HTML> <html> <head> </head> <script type="text/javascript"> function cameraShow(){ window.MyJSObject.cameraShow(); }     function showMsg(){    

Android与js互相调用

≡放荡痞女 提交于 2020-02-10 03:28:40
有话要说: 本篇主要总结了简单的Android与js互相调用的方法。 在开发过程中遇到了需要在安卓中调用js方法的需求,于是将具体的实现过程总结成这篇博客。 效果: 其中“调用安卓方法”按钮是html中的按钮;“调用JS方法”按钮是app中的按钮。 本地HTML: 首先,在app根目录新建一个assets文件夹,并在文件夹内新建一个本地html文件,如下图 接着编写一个简单的html文件: 1 <html lang="zh-CN"> 2 <p id='p'>hello world</p> 3 4 <script> 5 function test(){ 6 document.getElementById("p").innerHTML += " 你好!" 7 } 8 </script> 9 10 <button onclick="justTest.hello('js调用安卓方法!')">调用安卓方法</button> 11 12 </html> Android布局文件: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com

Android-webview和js互相调用

谁说胖子不能爱 提交于 2020-02-10 03:01:38
Android 和 H5 都是移动开发应用的非常广泛。市面上很多App都是使用Android开发的,但使用Android来开发一些比较复杂附属类,提示性的页面是得不偿失的。而H5具有开发速度快,更新不用依赖于App的更新,只需要服务端更新相应的页面即可,所以,App和H5页面相结合就显得尤为重要。而android和H5都不可能每次都是独立存在的,而是相互影响也相互的调用,获取信息等,例如,H5页面要获取App中的用户的基本信息,或者App端要操作H5页面等,下面来看看这两是怎么交互的。 先来看一下项目的整体架构(Android studio中的项目) 整个项目的结构就是这样的,里面最主要的就是assets下面的js_webView.html文件和代码中的WebViewJsActivity,其中项目里面的MainActivity只是做了个跳转而已,跳转到WebViewJsActivity。就这样。 下面上代码:(js_webView.html) html里面的代码也比较简单,整个html中就一个Button,点击这个Button的时候去执行javascript中的 jsCallAndroid() 方法。 网页中有关 javascript 的代码也比较简单,整个 js 就2个方法,一个是 jsCallAndroid() ,一个是 androidCallJs() 。看方法名就知道了

如何实现IE中JS和VC之间的互相调用

别来无恙 提交于 2020-02-10 02:56:34
一直做IE相关的东西,但是发现对JS和VC之间如何调用不是很明白。虽然知道通过IDispatch接口可以在VC程序和JS之间进行交互,但是如何具体做一直有点模糊,所以就专门做了个实验,看看他们到底如何进行沟通。 脚本语言和编译型语言之间进行通信是通过IDispatch接口来行的,这里我对双接口的理论就不进行讨论,直接看看如何用WTL代码来实现。 首先定义如下的一个IDispatch实现: 1 class CExternalDisp: 2 public CComObjectRoot, 3 public IDispatch 4 { 5 public: 6 CExternalDisp(void); 7 ~CExternalDisp(void); 8 9 BEGIN_COM_MAP(CExternalDisp)10 COM_INTERFACE_ENTRY(IDispatch)11 END_COM_MAP()12 13 HRESULT STDMETHODCALLTYPE GetTypeInfoCount( 14 /* [out] */ UINT *pctinfo) 15 {16 return E_NOTIMPL;17 }18 19 HRESULT STDMETHODCALLTYPE GetTypeInfo( 20 /* [in] */ UINT iTInfo,21 /* [in] */

Js调用Java方法并互相传参

巧了我就是萌 提交于 2020-02-10 02:54:08
Js通过PhoneGap调用Java方法并互相传参的。 一、JAVA代码 写一个类,该类继承自Plugin并重写execute方法。 import org.json.JSONArray; import android.app.Activity; import android.app.AlertDialog; import android.content.ActivityNotFoundException; import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import com.phonegap.api.PhonegapActivity; import com.phonegap.api.Plugin; import com.phonegap.api.PluginResult; public class PluginTest extends Plugin {   public static String ACTION = "hello"; public PluginTest() { } /** * Executes the request and returns PluginResult. * *

JS反混淆——构造可知DeviceToken、nouce与token

两盒软妹~` 提交于 2020-02-10 01:46:49
清空所有cookies后打开任意一本书的详情页,打开控制台中的Network。如下图所示,浏览器发出的第一个XHR请求为 /bind ,其中DeviceToken,nonce,Token均为POST中提交的数据。 找到访问网页的请求,如下图所示,返回头中没有出现set-cookie字段,可以判断DeviceToken,nonce,Token均为js生成的。 找到发送 /bind/ 请求的Initiator,发现只与 vendor.*.js 与 app.*.js 有关,且出现了 webpackJsonp 、 computed 、 updateRoute 等字段,猜测该网站是使用vue-cli构建的。 下载并解码 vendor.*.js 与 app.*.js ,在 app.*.js 中搜索 /bind ,找到相关代码。 该段函数流程大致为发送 /bind 请求至后端,如果返回的结果中 Success 字段为true,则将数据中的 DeviceToken , DeviceKey 放到cookie中。而发送的 DeviceToken 由 newGuid() 函数生成。 找到该段函数的函数名为 registerApp ,搜索调用。 找到调用 registerApp 的代码,根据上文 watch 与 methods 可以判断出这是一个vue的组件,监控到路由变化则调用 registerApp

JS闭包的详解

不想你离开。 提交于 2020-02-09 14:20:27
目录 一、什么是闭包? 二、闭包有什么好处?应用在哪? 2.1 好处: 2.2 用法: 三、闭包需要注意的地方? 3.1 IE下会引发内存泄露 一、什么是闭包? 特点: 1 函数嵌套函数 2 内部函数可以引用外部的参数和变量 3 参数和变量不会被垃圾回收机制所回收 举一个简单的闭包的例子,例子中符合闭包的三个特点 function aaa(a){ var b = 5; function bbb(){ alert(a); alert(b); } } aaa(); 关于js 中的垃圾回收机制,这里说明一下。请看下面代码,当aaa函数执行完毕之后,aaa中的变量a会被js的垃圾回收机制所回收 function aaa(){ var a = 1; } aaa(); // 改函数执行完毕时候,函数中的变量a会被js的垃圾回收机制所回收 再举一个闭包例子 当aaa函数执行完毕之后,调用c函数仍然可以弹出1,说明了a这个变量没有被垃圾回收 function aaa(){ var a = 1; function bbb(){ alert(a); } return bbb; } var c = aaa(); // 当aaa函数执行完毕之后,调用c函数仍然可以弹出1,说明了a这个变量没有被垃圾回收 c(); 二、闭包有什么好处?应用在哪? 2.1 好处: 1 可以使一个变量常驻内存 2

前端面试集锦(1-24)

ぃ、小莉子 提交于 2020-02-09 13:06:35
目录 1、id选择器? 2、类选择器 3、元素选择器 4、通用选择器 5、简述什么是浏览器事件流 6、如何用CSS隐藏一个元素? 7、一行CSS实现padding上下左右分别为1,2,3,4px? 8、前后端分离的基本原理? 9、如何创建响应式布局? 10、你使用过那些前端框架? 11、什么式ajax请求?使用jQuery和XMLHttpRequest对象实现一个ajax请求? 12、如何在前端实现轮询? 13、如何在前端实现长轮询? 14、vuex的作用? 15、vue中的路由拦截器的作用? 16、axios的作用? 17、列举vue的常见指令? 18、简述jsonp及其原理? 19、简述cors及其原理? 20、看js代码写结果? 21、看js代码写结果 22、看js代码写结果 23、看js代码写结果 24、看js代码写结果 1、id选择器? #id /*id选择器 #号*/ #d1 { /*将id为d1的标签内部文本内容改成绿色*/ color: green; } 2、类选择器 .id /*类选择器 点号*/ .c1 { /*让所有具有c1类属性值的标签内部文本变成蓝色*/ color:blue; } 3、元素选择器 /*标签选择器 元素选择器*/ div { /*将页面上所有的div标签内部的文本变成红色*/ color: red; } 4、通用选择器 * /*通用选择器

JS this用法详解

孤街醉人 提交于 2020-02-09 07:15:51
随着对 js 的深入学习和使用,你会发现它里面包含了很多令人困惑的机制,比如对象、闭包、原型链继承等等    1、this是啥?   简言之,this是 JavaScript语言 中定义的众多关键字之一,它的特殊在于它自动定义于每一个函数域内,但是this倒地指引啥东西却让很多人张二摸不着头脑。这里我们留个小悬念,希望看完这篇文章了你能回答出来this到底指引个甚。    2、this有啥用?   那边观众又该为了,既然this这么难以理解,那么为个甚还要用它呢?我们来看个例子: function identify() { return this .name.toUpperCase(); } function sayHello() { var greeting = "Hello, I'm " + identify.call( this ); console.log( greeting ); } var person1= { name: "Kyle" }; var person2= { name: "Reader" }; identify.call( person1); // KYLE identify.call( person2); // READER sayHello.call( person1); // Hello, I'm KYLE sayHello.call(