使用javascript打开一个新页而不被浏览器屏蔽

使用javascript打开一个新页面可以有几种方式,但各有利弊,以下做下分析

1.window.open(url)

这是新手最常用的方法,好处是简单易用,坏处,很简单,会被很多浏览器拦截而导致功能失效

2.使用js在页面创建一个a标签,然后点击它

示例代码如下:

                var a = document.getElementById("entergameform1001");
                if(!a){
                    $(document.body).append(‘<a id="entergameform1001" href="‘ + url + ‘" target="_blank"></a>‘);
                    a = document.getElementById("entergameform1001");
                }else{
                    $(a).attr("href",url);
                }
                a.click();

优点,不会被浏览器拦截,但是两个窗口交互的话,会找不到window.owner

3.使用js创建一个form表单,模拟表单提交

示例代码如下:

                var form = document.getElementById("entergameform1001");
                if(!form){
                    $(document.body).append(‘<form id="entergameform1001" action="‘ + url + ‘" method="get" target="_blank"></form>‘);
                    form = document.getElementById("entergameform1001");
                }else{
                    $(form).attr("action",url);
                }
                form.submit();

优点:相关a标签,页面可以获取window.owner。缺点:使用get方式,在部分浏览器中,url里的参数会被过滤掉,必须使用input值来传递。使用post提交时,会被浏览器拦截

时间: 2024-11-05 12:29:24

使用javascript打开一个新页而不被浏览器屏蔽的相关文章

java+selenium——键盘操作+快捷键ctrl+t——新打开一个标签页

package rjcs; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.List; import org.openqa.selenium.interactions.Actions; import org.apache.commons.io.FileUtils; import org.openqa.selenium.TakesScreenshot; import org.openqa.

Window.open 实现导航与打开窗口,导航到一个特定链接地址,也可以打开一个新的浏览器窗体

语法 window.open(strUrl,strWindowName,strWindowFeatures ,replace) strUrl: 打开资源的地址 strWindowName: 表示窗体名称.如果该参数指定了一个已经存在的窗口,那么open()方法就不再创建一个新窗口,而只返回对指定窗口的引用.在这样情况下 fratures 将被忽略. strWindowFeatures :新窗口要显示的标准浏览器的特征 replace: 一个可选的布尔值.规定了装载到窗口的 URL 是在窗口的浏览

如何使用button在tab中新建打开一个链接页

在APPBOX某页中如何使用button按钮打开一个新的链接页.比如说百度.谷歌等 在后台的单击事件中使用以下语句即            string url = "DownloadImage.aspx?ids=" + ids;                  string js = @"window.open('" + OriginalPageName + "','_blank')";//打开新页面                  Pag

[小白知识记录]--浏览器打开一个新窗口记录

很小白的一个知识点:想在浏览器中点击按钮后,弹出一个单独的窗口.如有的页面显示一个概要信息,用户点击某个按钮后弹出一个窗口显示详细的信息.方法是js的window.open方法:window.open(URL,target,features,replace) 参数 描述 URL 一个可选的字符串,声明了要在新窗口中显示的文档的 URL.如果省略了这个参数,或者它的值是空字符串,那么新窗口就不会显示任何文档. target 一个可选的字符串,该字符串是一个由逗号分隔的特征列表,可以包括数字.字母和

vue中使用router打开一个新的窗口

一个单页应用打开一个新的窗口不是很好控制,比如权限的处理,因为原先的页面不会自动刷新,方法很简单: let routeData = this.$router.resolve({ name: "housingDetails", query: {id:id,domain:this.domain}, params:{id:id,domain:this.domain} }); window.open(routeData.href, '_blank'); 或者使用: <router-lin

a标签跳转,打开一个新页面

a标签默认刷新本页面为最新页面 只需要给a标签加一个属性: target="_blank"      就可以在跳转的时候打开新的页面 < a href="index.html"  target="_blank" >跳转打开一个新的页面(不刷新本页)</a> 原文地址:https://www.cnblogs.com/PHP0222wangdong/p/11646113.html

【VirtualBox】不能为虚拟电脑 xxx 打开一个新任务

发现Genymotion在打开虚拟机的时候提示报错,升级之前是正常的: 不能为虚拟电脑 xxx 打开一个新任务. Failed to open/create the internal network 'HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter #2' (VERR_SUPDRV_COMPONENT_NOT_FOUND). Failed to attach the network LUN (VERR_SUPDRV_CO

JS 点击元素发ajax请求 打开一个新窗口

JS 点击元素发ajax请求 打开一个新窗口 经常在项目中会碰到这样的需求,点击某个元素后,需要发ajax请求,请求成功以后,开发需要把链接传给前端(或者说请求成功后打开新窗口),前端需要通过新窗口打开这个链接,其实这样的原理大家可能觉得非常简单,想起来非常简单,用JS中的window.open就可以实现打开新的窗口,或者点击div元素,发ajax请求成功后,动态把链接传给a标签,然后再触发a标签事件,也可以实现,对吧?曾几何时,我也曾经把这样的问题发到JS群里面去,很多JS社区朋友说 龙恩 这

Vitrualbox 桥接网卡界面名称未指定、Filters currently installed on the system have reached the limit、不能为虚拟电脑 打开一个新任务

1. 桥接网卡界面名称未指定 http://wenku.baidu.com/link?url=VFG0hknsDX3VPXQoX5f-g1wUX_LBl-lOj0ZqD222kM31iVCPJKVu3lfqh6UVwUWeU6gQW4TGLV-b5k8XynqjStcVj3woW5woaFQWQpAmDKK&qq-pf-to=pcqq.c2c 2. Filters currently installed on the system have reached the limit http://ww