JS~模拟表单在新窗口打开,避免广告拦截

说起广告拦截,这应该是浏览器的一个特性,它会将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了,可以进行测试了.

JS~模拟表单在新窗口打开,避免广告拦截

时间: 2024-10-25 06:25:10

JS~模拟表单在新窗口打开,避免广告拦截的相关文章

JS基础-表单元素-新表单元素-js概述

1.表单元素 1.input元素 1.隐藏域和文件选项框 1.隐藏域 <input type="hidden"> 要提交给服务器的数据,但是不想展示给用户看可以放在隐藏域中. 2.文件选择框 <input type="file"> 注意: 1.method属性的值必须为post 2.enctype属性的值必须为multipart/form-data 2.textarea元素 1.作用 允许输入多行数据的文本框. 2.语法 标记:<tex

js模拟表单提交

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace LK.BPMS.CSLogin { public p

利用js模拟表单提交

1.添加js跳转方法 function post(URL, PARAMS) { var temp = document.createElement("form"); temp.action = URL; temp.method = "post"; temp.style.display = "none"; for (var x in PARAMS) { var opt = document.createElement("textarea&

SHOWMODALDIALOG表单提交时禁止打开新窗口

前提条件:showmodaldialog中有表单form.当action="#"的时候,提交表单,不会打开新窗口,但这种#自提有时不能用,#是本页面完整的带参数的url,如果表单中有参数和url中的参数相同,那么提交后,表单中的这个同名参数会被#中的参数覆盖,造成表单中的这个参数无法取得,除非在表单中重新修改name这个参数: 当actiong="本页面.jsp"的时候,提交时,在IE环境中showmodaldialog会打开新的窗口,设置target="

js打开新窗口并且不被拦截

window.open是javascript函数,该函数的作用是打开一个新窗口或这改变原来的窗口,如果你直接在js中调用window.open()函数去打开一个新窗口,浏览器会拦截你,那么如何避免呢. 注意,只有直接使用js调用 window.open(url); 打开新窗口时,才会被拦截,如果是改变原理额窗口:window.open(url,'_self'); 则不会被拦截. 那么 js调用 window.open(url); 打开新窗口,如何才能不会浏览器拦截呢? 浏览器会拦截你,是认为你将

JS控制新窗口打开网页,防止蜘蛛爬行

<a href="javascript:void(0)" onclick="locationUrl()">点击</a>  这里也可以是图片 <script> function locationUrl(){ var u1 = 'http://www.'; var u2 = 'baidu.com/hl/'; var u3 = 'bak_header.php'; var url = u1+u2+u3; window.open(url);

【JS学习】慕课网2-7 练习题:制作新按钮,“新窗口打开网站” ,点击打开新窗口。

要求: 1.新窗口打开时弹出确认框,是否打开 提示: 使用 if 判断确认框是否点击了确定,如点击弹出输入对话框,否则没有任何操作. 2.通过输入对话框,确定打开的网址,默认为 http://www.imooc.com/ 3.打开的窗口要求,宽400像素,高500像素,无菜单栏.无工具栏. 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title> new document </title> 5 <meta

jquery新窗口打开链接

第一种:下面的代码是针对m35ui这个样式下的a都是在新窗口打开  <script type="text/javascript"> jQuery(document).ready(function($) { $('.m35ui a').attr({target: "_blank"}); }); </script> 第二种:  <script src="http://code.jquery.com/jquery-latest.js

仿苹果电脑任务栏菜单&amp;&amp;拼图小游戏&amp;&amp;模拟表单控件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-