java获取javascript的内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java获取javascript的内容相关的知识,希望对你有一定的参考价值。
我现在要做一个类似于中间件的东西,需要把网页中的内容转到手机上显示。现在很多网页的连接都是用javascript做的,现在我需要在java中获取javascript中的内容,不知道各位大哥大姐有没有什么好办法?如果方法行得通,我会另外加分的。谢谢各位!
网页里面的很多链接都是在javascript中实现的,我想获得他们之中存在的连接,他们是在另外一个页面中存储的,不能通过直接的正则表达式实现。我想要的是把javascript函数中的内容读取出来。
1.直接写出来的,一看就明白(右键->查看页面源代码)
2.引用的,就比如说这个页面吧,其中有下面代码:
<head>
<link href="/ikqb.css" rel="stylesheet" type="text/css">
<script type="text/javascript"src="/userlogin.js?213">
</script>
</head>
通过这段代码(src="/userlogin.js?213")知道他引用的位置是http://zhidao.baidu.com/userlogin.js,输入这个网址看看效果,就是document.domain="baidu.com";document.write("等等,这就是他引用的JS了。 参考技术A 如果js都是你自己网页里的,你可以把你java需要的对象用request传到java
,但是我估计你是想获取大量别人网页里你需要的js里的东西。那么你只有通过读取网页然后用正则表达式匹配你需要的东西,像网址什么的。
补充:
如果网页的js是采用引用的方式,是获取不到的。 参考技术B 这个问题实现起来可不简单。
如果只是简单的链接替换还好说,如果是页面内容是动态的,也就是说 html 是通过 javascipt 动态生成,那就得用 java 解析 HTML 并执行其中的 javascript,执行结束后才是你要的 HTML。
可以看看这个
http://lobobrowser.org/本回答被提问者采纳 参考技术C 不知道你要获取什么内容。
我觉得可以将你要获取的内容放到请求中,然后用request.getParameter("")的方式获取到。 参考技术D 你在Java 代码获取 js 中 传递的参数不就完了·用request.getParameter();这个方法·
Java Web开发之Servlet获取ckeditor内容
js:
<!-- ckeditor插件 --> <script type="text/javascript" src="js/ckeditor/ckeditor.js"></script>
window.onload = function(){ //将textarea替换ckeditor var yjfx = null;//研究方向 var jj = null;//简介 jj = CKEDITOR.replace(‘jj‘); yjfx = CKEDITOR.replace(‘yjfx‘); //‘‘内为textarea元素的name属性值,而非id属性值 //给ckeditor赋值 var tyjfxcontent = $(‘#yjfxhd‘).val(); var jjcontent = $(‘#jjhd‘).val(); CKEDITOR.instances.yjfx.setData(tyjfxcontent); CKEDITOR.instances.jj.setData(jjcontent); }
hmtl:
<div class="form-group"> <label>研究方向</label> <textarea value="" name="yjfx" rows="5" class="form-control"></textarea> <input id="yjfxhd" value="${basicInformation.research }" type="hidden"/> </div> <div class="form-group"> <label>简介</label> <textarea value="" name="jj" rows="5" class="form-control"></textarea> <input id="jjhd" value="${basicInformation.info }" type="hidden"/> </div>
servlet:
//获得研究方向 String yjfx = request.getParameter("yjfx").toString();//注意""内是textarea的name
以上是关于java获取javascript的内容的主要内容,如果未能解决你的问题,请参考以下文章