注入html源码到浏览器的几种方式
来源:互联网 发布:js获取radio的值 编辑:程序博客网 时间:2024/06/09 20:10
1、通过各浏览器提供的接口调用
IE的COM接口,FF的插件、Chrome的API接口等;类似的实现有Selenium的webdriver支持的各种driver,
它们都是调用了浏览器的原始接口。
2、通过已有的第三方程序来间接调用浏览器:
比如上面的所提到的webdriver所支持的各种driver;目前这些driver提供支持很多的浏览器操作,注入源码应该也提供了吧!
具体的还没有试过,但是也算是一种可能。
3、利用嵌入式浏览器引擎提供的接口:
CEF是webkit的嵌入式引擎,可以直接程序调用它来实现一个自定义的浏览器,国内大部分浏览器应该就是这样出来的吧;
所以注入点html源码应该是没有什么问题。
4、利用类浏览器程序来实现:
PhantomJS是一款基于webkit的无GUI浏览器引擎,可以做很多浏览器都支持的事情,更方便的是它有提供非常好的编程接口,
注入HTML就是其中一个。
5、利用JS注入到浏览器页面:
直接通过JS获取病改变HTML内容;或者新建一个iframe后注入HTML到iframe中,其实效果就等同于注入到一个新开的浏览器页面。
PhantomJS的注入样例:
JS利用iframe注入的样例:
IE的COM接口,FF的插件、Chrome的API接口等;类似的实现有Selenium的webdriver支持的各种driver,
它们都是调用了浏览器的原始接口。
2、通过已有的第三方程序来间接调用浏览器:
比如上面的所提到的webdriver所支持的各种driver;目前这些driver提供支持很多的浏览器操作,注入源码应该也提供了吧!
具体的还没有试过,但是也算是一种可能。
3、利用嵌入式浏览器引擎提供的接口:
CEF是webkit的嵌入式引擎,可以直接程序调用它来实现一个自定义的浏览器,国内大部分浏览器应该就是这样出来的吧;
所以注入点html源码应该是没有什么问题。
4、利用类浏览器程序来实现:
PhantomJS是一款基于webkit的无GUI浏览器引擎,可以做很多浏览器都支持的事情,更方便的是它有提供非常好的编程接口,
注入HTML就是其中一个。
5、利用JS注入到浏览器页面:
直接通过JS获取病改变HTML内容;或者新建一个iframe后注入HTML到iframe中,其实效果就等同于注入到一个新开的浏览器页面。
6、通过自动化工具直接注入:
类似selenium的自动化工具,其实都可以直接获取到document对象,所以也就可以直接操作dom从而修改页面内容,达到注入新html的目的。
PhantomJS的注入样例:
var page = require('webpage').create();page.viewportSize = { width: 400, height : 400 };page.content = '<html><body><canvas id="surface"></canvas></body></html>'; //要注入的HTML代码page.render('2.png'); //截屏phantom.exit();
JS利用iframe注入的样例:
var iframe = '<iframe src="about:blank" frameborder="0" name="FirebugUI" id="FirebugUI" style="border: 0px; visibility: visible; z-index: 2147483647; position: fixed; width: 100%; left: 0px; bottom: 0px; height: 241px; display: block;"></iframe>';$("body").append(iframe); //添加iframevar ifs = $('#FirebugUI').contents().get(); //获取iframe的document对象var ifs2 = document.getElementById('FirebugUI').contentWindow.document; //获取iframe的document对象var ifs3 = window.frames["FirebugUI"].document;ifs.head.innerHTML = "<title>test JS iframe</title>";ifs.body.innerHTML = "<div>success</div>";
0 0
- 注入html源码到浏览器的几种方式
- Spring依赖注入的几种方式
- Spring几种注入方式的记录
- spring map 注入的几种方式
- Spring注入Bean的几种方式
- Spring的几种注入方式
- Spring的几种注入方式
- spring的依赖注入几种方式
- SpringIOC的几种注入方式
- spring的几种注入方式
- svg嵌入到html中的几种方式
- HTML使用样式的几种方式
- html清除浮动的几种方式
- html 图片显示的几种方式
- HTML 引入 CSS 的几种方式
- spring的注入bean的几种方式
- Spring 常用的几种依赖注入方式
- Spring Ioc 之二 -依赖注入的几种方式
- C++长数的乘法
- Eclipse Debug模式的开启与关闭
- 对银行业务调度系统的剖析
- spring,mybatis事务管理配置与@Transactional注解使用
- 工作、生活、感悟
- 注入html源码到浏览器的几种方式
- Java身份证验证工具类
- Step5.2.2 Hdu1251统计难题
- 消息中间件 MQ 企业级方案设计,第 1 部分: 异步通信与负载均衡
- Android中一些开源框架收集
- MKNetworkKit: 网络处理又一利器
- java.lang.IllegalArgumentException: id to load is required for loading解决方法
- 软件工程小结
- DIB