说起广告拦截,这应该是浏览器的一个特性,它会将window.open产生的窗口默认为一个广告,将它进行拦截,但有时,这不是我们所希望的,有时,我们就是需要它在客户端的浏览器上弹出一个新窗口,以展示数据处理的更新结果,例如,一个创建商品的预览功能,它需要先保存数据,然后再在新窗口展示最新的信息,这种需求并不少,而大多数人的作法就是使用window.open去弹窗口,但它确实不是一种好的方式!

新方式来了

我们知道表单提交实际上可以把POST的结果响应到新窗口上,我们就是利用表单的这种性质,在JS中伪造一个form,来实现新窗口展示数据的功能  

       //伪装一下表单提交在新窗口
function newWinUrl( url ){
var f=document.createElement("form");
f.setAttribute("action" , url );
f.setAttribute("method" , 'get' );
f.setAttribute("target" , '_black' );
document.body.appendChild(f)
f.submit();
}

在程序调用它时,可能有这样的代码

       //预览功能
$("#do").click(function () {
$ajax({
type: "get",
data: {},
success: function (data) {
newWinUrl(url + data);
}
}); });

0了,可以进行测试了.

最新文章

  1. (1)从底层设计,探讨插件式GIS框架的实现
  2. Android圆形图片--ImageView
  3. 设计模式系列 1——StaticFactory(静态工厂),AbstractFactory(抽象工厂)
  4. linux 提高进程优先级nice+ 进程调度CFS
  5. UiAutomator源码分析之注入事件
  6. Js的两种post方式
  7. 网络1712--c语言函数作业总结
  8. L2-2 重排链表 (25 分)
  9. springboot秒杀课程学习整理1-4
  10. Redis Sentinel 模拟故障迁移
  11. swift一些常用系统方法的简化使用
  12. postgresql逻辑结构--视图(五)
  13. POJ 2209
  14. 【翻译自mos文章】在一次失败的 'Shutdown Immediate'之后,数据库job 不能执行。
  15. LeetCode OJ:Number of Islands(孤岛计数)
  16. 40 Questions to test your skill in Python for Data Science
  17. API Monitor程序分析工具简介
  18. LeetCode——Diameter of Binary Tree
  19. 动态规划(DP),最长递增子序列(LIS)
  20. Ext js 应用例子

热门文章

  1. NYOJ737
  2. POJ2449
  3. hdu 1022
  4. 让页脚footer永远固定在页面的底部,而不是永远固定在显示器屏幕的底部的方法
  5. AjaxManager的实现
  6. 杀掉linux所有进程的命令
  7. tomcat startup.sh提示java.lang.OutOfMemoryError: PermGen space
  8. 开源CMS建站项目DNN研究与心得
  9. 浅谈PHP代码设计结构
  10. Warning: World-writable config file '/etc/my.cnf' is ignored