浏览器未开启javascript

使用的js代码有问题,webview不兼容该代码。

1) 第一个坎:WebSettings

WebSettings webSettings = mWebView.getSettings();

webSettings.setJavaScriptEnabled(true);

2) 第二个坎: 有物

在运行脚本前,要有document对象,至少得load一个空白页

webView.loadData(“”,"text/html","UTF-8");

3)第三个坎: 异步

如果这么写是没戏的,因为第一个还没执行完呢

webView.loadData(“”,"text/html","UTF-8");

webView.loadUrl("javascript:alert('hello')");

解决这个问题。可以1)从界面按钮调用 2)延时调用。 3)在onPageFinished中调用

mWebView.setWebViewClient(new MyWebViewClient());

private class MyWebViewClient extends WebViewClient {

@Override

public void onPageFinished(WebView webView, String url) {

webView.loadUrl("javascript:"+script);

}

}

4)第四个坎:console/alert

以上三点完成后,js已经可以执行,可是为什么看不到console.log和alert呢?因为这2个要额外实现

mWebView.setWebChromeClient(new MyWebChromeClient()); //optional, for show console and alert

private class MyWebChromeClient extends WebChromeClient {

@Override

public boolean onConsoleMessage(ConsoleMessage cm) {

Log.d("test", cm.message() + " -- From line "

+ cm.lineNumber() + " of "

+ cm.sourceId() );

return true;

}

@Override

public boolean onJsAlert(WebView view, String url, String message, JsResult result) {

Toast.makeText(mContext, message, Toast.LENGTH_SHORT).show();

return true;

}

}

android webview javascript不执行,WebView中的JavaScript为什么不执行?相关推荐

  1. 读《Javascript高级程序设计》中的javascript事件处理程序(事件侦听器)心得

    今天读了<Javascript高级程序设计>中的javascript事件处理程序(事件侦听器)部分的内容,总结一些自己的心得: 事件就是用户或者浏览器自身执行的某种动作.例如click . ...

  2. JavaScript概述和HTML中嵌入JavaScript的三种方式

    "成功没有捷径,脚踏实地一步一个脚印,该来的总会来,不好高骛远,不急功近利,付出总会有回报,不管处于哪个阶段,都要一步一个脚印,踏实的走好每一步!" 目录 01.JavaScrip ...

  3. JavaScript笔记(二)——HTML中的JavaScript

    JavaScript笔记(二) 读书笔记 HTML中的JavaScript 内容概要 2.1 <\script\>元素 2.1.1 标签位置 2.1.2 推迟执行脚本 2.1.3 异步执行 ...

  4. php中如何调用javascript,如何在php中调用javascript代码?

    JavaScript是客户端脚本语言,PHP是用于与数据库交互的服务器端脚本语言.那么如何在php中调用javascript代码?下面本篇文章给大家介绍一下.有一定的参考价值,有需要的朋友可以参考一下 ...

  5. JavaScript函数调用方式:简单调用+在超链接中调用JavaScript函数+在事件中调用JavaScript函数

    简单的调用 <html> <head> <meta http-equiv="Content-Type" content="text/html ...

  6. MySQL执行计划中,ID值表明执行次序

    id值表明的执行次序的问题 ---参见: http://blog.163.com/li_hx/blog/static/18399141320146219354154/ ---关于id值与执行关系: 结 ...

  7. 在Chrome 中调试Javascript

    在前面的两篇文章中我们讲了如何在IE中调试Javascript和在Visual Studio中调试Javascript,在本篇内容中,我们讲一下如何在谷歌 Chrome中调试Javascript. C ...

  8. 未定义函数或变量_变量提升:JavaScript是顺序执行,为什么变量在定义之前执行不会报错而是报Underfined...

    showName() console.log(myname) var myname = 'hhh' function showName() {console.log('函数showName被执行'); ...

  9. 将JavaScript集成到QML中

    将JavaScript集成到QML中 将JavaScript集成到QML中 使用JavaScript表达式获取属性值 在QML中添加JavaScript函数 使用JavaScript文件 将JavaS ...

  10. JavaScript权威指南 第11章JavaScript标准库

    JavaScript权威指南 第11章JavaScript标准库 第11章 JavaScript标准库 11.1 集合与映射 11.1.1 Set类 11.1.2 Map类 11.1.3 WeakMa ...

最新文章

  1. C++拾取——Linux下实测布隆过滤器(Bloom filter)和unordered_multiset查询效率
  2. 这老哥把GPU当暖气用,省钱了
  3. lstm处理时序数据结构图_详解LSTM
  4. 深度学习时代的图模型,清华发文综述图网络
  5. Centos 6.4 python 2.6 升级到 2.7一起的MySQLdb不能使用的解决问题
  6. SAP直接踢人下线 SM04
  7. 字符串系统函数strstr strrchr [5.3有版本不同]
  8. 装修弱电箱,路由器和交换机该怎么放?
  9. 黑客伦理(hacker ethic)--《黑客与画家》
  10. 博观而约取,厚积而薄发
  11. 安装nodejs时:The error code is 2503.
  12. 台式linux系统安装,LINUX安装方法
  13. 驱动程序是如何驱动硬件的?
  14. Entire Space Multi-Task Model: An Effective Approach for Estimating Post-CVR (ESSM)
  15. Ubuntu linux ls 看到目录文件夹绿色高亮问题
  16. matlab求圆的共切线,Matlab或Python怎么作出两个圆的公切线
  17. MT6737芯片技术资料集锦下载
  18. 【Computer Graphics】向量投影
  19. SolidWorks_画螺杆
  20. English-国内三大翻译证书比较

热门文章

  1. Spring 3.1 –从数据库加载XML配置的属性
  2. Spring线程池服务
  3. 小米路由器4Q的设置
  4. asp.net html2canvas,Vue 结合html2canvas和jsPDF实现html页面转pdf
  5. kali linux wifi监听模式,无线渗透教程1:监听无线网络
  6. 同时防服务器维修,加强服务器日常运维,避免宕机灾难发生
  7. java socket优化_Java Socket编程代码优化
  8. c 中头文件和源文件的区别是什么
  9. 计算机组成原理唐朔飞课后答案第六章,计算机组成原理第六章部分课后题答案(唐朔飞版)...
  10. python高手之路第三版_《Python高手之路(第3版)》——1.3 版本编号-阿里云开发者社区...