window.open打开新窗口名写入内容 怎么才能保持新窗口原来的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window.open打开新窗口名写入内容 怎么才能保持新窗口原来的内容相关的知识,希望对你有一定的参考价值。

我用window.open打开了新页面 并且传入了一个参数 但是新页面的原有元素都没有了 怎么解决这个办法呢 我希望既能给新窗口写入信息又能保持新窗口原有的内容

参考技术A 你是要在原来的内容的基础上现加一些内容到html里么?你可以使用JS操作DOM来实现,如果要在网页body中新增内容,可以看下面这个简单的示例<script type="text/javascript">
function addHTML()
var d = document.createElement("span");
d.innerHTML="新内容";
document.body.appendChild(d);

</script>上面第一个的意思就是创建一个HTML标签,你可以设为div啊什么的,第二句就是给这个标签加上内容,第三句就是把这个标签和它里面的内容,就是这一段代码,新增到body标签内,就这样。

window.open打开新窗口被浏览器拦截的处理方法

一般我们在打开页面的时候, 最常用的就是用<a>标签,如果是新窗口打开就价格target="_blank"属性就可以了, 如果只是刷新当前页面就用window.location.reload(), 在某些特殊情况下也要用到另外一种新窗口打开的方法,就是window.open(),这个方法有一个问题就是会被基本所有的浏览器所拦截,要收到点击确认打开才可以,这样的体验可以说是非常不友好的~~ 感觉像一个有病毒的程序~~

 

所以我们如果一定要用这个方法,但是又不想其被浏览器拦截, 有几种方法,都可以解决,具体如何~~

第一种:

//所以常用的方法就是在超链接里加入onclick事件,如
<a href="javascript:void(0)" onclick="window.open()"></a>
//这样用户点击这个超链接,浏览器会认为它是打开一个新的链接,所以就不会拦 截。

 

第二种:

setTimeout(‘window.open(url);‘, 500);
//使用 setTimeout 包装一下,也可以防止被浏览器拦截。注意这里的超时时间不能太短,否则也会被拦截。

 

第三种:

//时候我们会遇到想要弹出一个窗口,可是却是在onckick事件执行后,才去弹出来的,这时就会被浏览器拦截,我们可以通过下面的方法来避免,就是 先用window.open打开一个窗口,然后修改地址。如
var tempwindow=window.open(‘_blank‘);
//打开一个窗口,然后用tempwindow.location=‘http://www.baidu.com‘;使这个窗口跳转到百度,这样就会呈现弹出百度窗口的效果了。

 

个人觉得第一种方法>第三种方法>第二种方法~~~具体哪个性能更好,没有深入测试过,毕竟这个属性真的很少用~  或许还有更好的方法~~

 

以上是关于window.open打开新窗口名写入内容 怎么才能保持新窗口原来的内容的主要内容,如果未能解决你的问题,请参考以下文章

js 用window.open(参数) 打开新窗口,在新窗口怎么获取传过来的参数

在浏览器窗口中打开新标签(使用 window.open 打开)

window.open怎么打开多个窗口

JS window.open()拦截问题解决方案

用window.open打开的新窗口如何居中弹出

window.open打开新窗口被浏览器拦截的处理方法