js生成的input指定onclick时间: 以下1.2为错误: onclick="WdatePicker()"; onclick=WdatePicker(); 若指定到window的load方法里面,页面打开就会执行这个方法,但是点击的时候没反应 正确:var inputEle = document.getElementByTagName("input");inputEle.onclick=function(){WdatePicker();} 但是我在google…
代码也可以从我的开源项目HtmlExtractor中获取. 当我们在进行数据抓取的时候,如果目标网站是以Js的方式动态生成数据且以滚动页面的方式进行分页,那么我们该如何抓取呢? 如类似今日头条这样的网站:http://toutiao.com/ 我们可以使用Selenium来搞定这件事情.Selenium的设计目的虽然是用于Web应用程序的自动化测试,但是却非常适合用来做数据抓取,可以非常简单地绕过网站的反爬虫限制,因为Selenium直接运行在浏览器中,就像真正的用户在操作一样. 使用Selen…
需求:爬取https://www.xuexi.cn/f997e76a890b0e5a053c57b19f468436/018d244441062d8916dd472a4c6a0a0b.html页面中的新闻数据. 分析: 1.首先通过分析页面会发现该页面中的新闻数据都是动态加载出来的,并且通过抓包工具抓取数据可以发现动态数据也不是ajax请求获取的动态数据(因为没有捕获到ajax请求的数据包),那么只剩下一种可能,该动态数据是js动态生成的. 2.通过抓包工具查找到底数据是由哪个js请求产生的动态…
需求:爬取https://www.xuexi.cn/f997e76a890b0e5a053c57b19f468436/018d244441062d8916dd472a4c6a0a0b.html页面中的新闻数据. 分析: 1.首先通过分析页面会发现该页面中的新闻数据都是动态加载出来的,并且通过抓包工具抓取数据可以发现动态数据也不是ajax请求获取的动态数据(因为没有捕获到ajax请求的数据包),那么只剩下一种可能,该动态数据是js动态生成的. 2.通过抓包工具查找到底数据是由哪个js请求产生的动态…
需求:爬取https://www.xuexi.cn/f997e76a890b0e5a053c57b19f468436/018d244441062d8916dd472a4c6a0a0b.html页面中的新闻数据. 分析: 1.首先通过分析页面会发现该页面中的新闻数据都是动态加载出来的,并且通过抓包工具抓取数据可以发现动态数据也不是ajax请求获取的动态数据(因为没有捕获到ajax请求的数据包),那么只剩下一种可能,该动态数据是js动态生成的. 2.通过抓包工具查找到底数据是由哪个js请求产生的动态…
主要原因:在页面给元素注册点击事件的时候[ $(function () {  XXX }); ],JS动态生成的元素还尚未生成,所以click事件就没有生效 解决方法: 方案一:js动态生成元素后再给其注册事件 [注册事件放在动态生成的js下面(js是从上往下执行的,当注册事件的时候元素已经生成了,就不会出现注册失效的现象了)] 话比较抽象举个例子: 方案二:js动态生成元素的时候给他加上 onClick之类的方法  举个例子: 如果你又更好的方案,那小子受教了~~…
我们通常会使用table标签来展示数据内容,由于需要展示的数据内容是随时更换的,所以不可能将展示的数据列表写死在html写死在页面中,而是需要我们根据后台传来的数据随时更换,这个时候就需要我们使用js来动态生成表格. 首先我们需要先写好页面的样式. html部分 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; chars…
2)JS动态生成HTML元素的爬取 import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import cn.edu.hfut.dmic.webcollector.crawler.DeepCrawler; import cn.edu.hfut.dmic.webcollector.model.…
用qrcode.js动态生成二维码图片非常简单,只需要引入qrcode.js即可使用,而且可以自定义图片大小.背景色等信息. 1.jsp代码---页面头部引入qrcode.js,jquery文件可选 <script type="text/javascript" src="../js/jquery-1.9.1.min.js"></script>         <script type="text/javascript"…
通常,在使用 JS 动态生成 html 的过程中,会嵌入相应的样式.事件等属性元素,而这时经常会出现所谓的 “单.双引号不够用” 的情况,别急,这时可以利用 html 语言中的转义字符来解决.下面就来介绍一下相应的转义字符吧:   & —— (ampersand) 转义字符对应为   & “   —— (double quote) 双引号,转义字符对应为  " '  —— (single quote)单引号,转义字符对应为  ' <  —— (less than) 小于号,…
JS 动态生成JSON对象,一般用到JSON传递参数的时候,会用到. function onGeneratedRow(columnsResult) { var jsonData = {}; columnsResult.forEach(function(column) { var columnName = column.metadata.colName; jsonData[columnName] = column.value; }); viewData.employees.push(jsonDat…
JS动态生成表格后 合并单元格 最近做项目碰到表格中的单元格合并的问题,需求是这样的,首先发ajax请求 请求回来后的数据 动态生成表格数据,但是生成后如果编号或者(根据其他的内容)有相同时,要合并单元格操作,在做之前也试着google下,但是网上没有碰到这方面的需求,所以自己写了一个简单的.用文字描述需求太费劲了,如下图所示: 1. 没有合并之前的图如下: 2. 合并之后的图如下: 如上所示:是根据相邻的编号相同 进行单元格合并. 先看看实现后的效果再聊吧! JSfiddle链接地址如下: 点…
经常需要用到js动态生成下拉列表的功能,记录下来备用. 示例需求:通过ajax请求,从后台获取用户姓名列表,并添加到下拉列表中.js代码如下: function getNameList(){ //如果是类似三级联表的功能,则需在刚开始是对下拉列表进行初始化,如: $("#nameList").html("<option value='0'>请选择姓名</option>"); $.getJSON(url+"getNameList&qu…
最近在抓数据,一般的网页数据抓取相对容易一些,今天在抓电视猫的节目单,发现有些数据时抓取不到的,Java端得到的HTML文件里面没有某一段代码,查了很多资料,发现说是js动态生成的数据,无法直接抓取,有一种解决方法是利用找到ajax请求地址和参数,重新抓取,该方法存在一个问题,就是当参数被加密过时,该方法就不好用了,所以,这里用了一个办法,就是利用HTMLunit来抓取(可以利用jsuop来处理HTML文件),jar包下载地址:http://download.csdn.net/detail/jo…
最近看代码发现一个小现象,就是用js动态生成的canvas在浏览器审查元素的时候,发现它没有结束标签,但是不会影响canvas上图形的绘制,同时还有一点就是在动态设置canvas宽度和高度的时候,不要出于习惯,写成oCvs.style.height或者是oCvs.style.width,而是写成oCvs.height或oCvs.width!…
最近在做一个产品添加的功能,需求有点奇葩,所以在添加的时候免不了要用到动态生成控件,然后我就使用了JS去动态生成一些 checkbox类型的input标签,在以前用asp.net在后台生成的input标签都可以用request["name属性"]这样的方式在后台 获取,但是在获取JS生成的标签时,就会发生有时候可以获取到,有时候又获取不到,到现在才发现,原来是我的JS写法有问题,所以才导致这样的问题.之前 这样的问题也遇到过好几次,苦于没找到解决方法,之前都是换别的方法去完成的,如今再…
用JS生成动态生成表格,行.列由用户输入,并使表格隔行换色 方法一. 代码: <!DOCTYPE html> 2 <html> 3 <head> 4 <title>动态表格</title> 5 6 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 7 <meta http-equiv="descri…
有时候我们需要利用js来动态生成页面上style标签中的css代码,方法很直接,就是直接创建一个style元素,然后设置style元素里面的css代码,最后把它插入到head元素中.但有些兼容性问题我们需要解决.首先在符合w3c标准的浏览器中我们只需要把要插入的css代码作为一个文本节点插入到style元素中即可,而在IE中则需要利用style元素的styleSheet.cssText来解决.还需要注意的就是在有些版本IE中一个页面上style标签数量是有限制的,如果超过了会报错,需要考虑这点.…
动态生成表格           *创建一个页面:两个输入框和一个按钮 *代码和步骤                      /*                          1.得到输入的行和列的值                          2.生成表格                               ** 循环行                               ** 在行里面循环单元格                          3.显示到页面上…
一.使用jquery.qrcode生成二维码 1.首先在页面中加入jquery库文件和qrcode插件 <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.qrcode.min.js"></script> 2.在页面中需要显示二维码的…
以前有个想法,能不能用JS动态创建CANVAS绘制图案当网页背景,在网络发现有现成的别人已经实现的:GeoPattern 代码如下: <!DOCTYPE html> <html> <head> <title>js 生成随机背景图</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js"></s…
Web网页项目的数据表格功能已经大体完成,下面是另一个主要功能,在线视频的显示 目前我做的项目是渔政监控方面,在之前C#的版本中已经实现了摄像头的在线监控,用的海康封装好的SDK,目前需要做的工作是在网页端实现在线视频的信号接入和云台控制,示例已经做好,可以看到有摄像头的选项,这时候我们可以对摄像头进行操作,视屏的开关,摄像头的调焦变焦,云台控制等,实现这些功能的前提是需要安装海康的名为WebComponents.exe的插件 对于海康摄像头的控制等函数可以参考海康的网络端,通过F12查看pre…
原理:通过动态生成canvas然后转为base64格式 代码Demo export const waterMark = (text) =>{ let _wm = document.createElement('canvas') _wm.setAttribute('width',150) _wm.setAttribute('height',100) let ctx = _wm.getContext('2d') ctx.fillStyle = '#d2d2d2' ctx.font= "13px…
<1>布局:一个table表格,表格分为两个部分,上面是thead表头,表头里面仅一行,有4列(th),   下面是tbody表格内容,要求tbody中的每一行都是用js动态创建的 <body> <table> <thead> <tr> <th>姓名</th> <th>科目</th> <th>成绩</th> <th>操作</th> </tr>…
最近写页面时需要用到,日期选择器,网上搜索了一些插件,最后使用了flatpickr.js.我是从npm 上拉下的依赖  npm install flatpickr --save 随后在页面中引入css,js文件,引入css文件时,可以大致留意一下,选择自己喜欢的色调, 引入js文件: html代码: 界面效果: 在使用的过程中我遇到了一些问题,当我动态创建一个input标签时,选择器没效果了, 原因是,当把新创建的元素添加到页面时,插件还未加载完毕,所以就不起作用 解决的办法是,自己手动初始化插…
Htmlunit是一款模拟浏览抓取页面内容的java框架,具有js解析引擎(rhino),可以解析页面的js脚本,得到完整的页面内容,特殊适合于这种非完整页面的站点抓取. 下载地址: https://sourceforge.net/projects/htmlunit/files/htmlunit/ maven地址: <dependency> <groupId>net.sourceforge.htmlunit</groupId> <artifactId>htm…
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getS…
今天朋友让我忙帮给写个页面,由于时间紧破,所以没有完善,暂时先贴出来,以后有时间了在做修改 <!DOCTYPE html><html><head><title></title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" c…
<script type="text/javascript" language="javascript"> function newNode(thisid,thisname) { //得到当前出入的个数 var thislength=document.getElementById(thisid).getElementsByTagName('li').length; if(thislength<=5){//最多有6个input var olEleme…
1.html代码 <div id="qrcode" style="width:200px; height:200px;position: fixed;bottom: 40%; right: 20%;"></div> 2.引入外部js文件 <script src="QRCode.js"></script> 3.方法调用 var qrcode = new QRCode(document.getEleme…