使用window.open切换到之前打开过的新页面

2021-06-11 21:04

阅读:438

标签:rem   pen   break   ceo   window   array   false   indexof   ISE   

使用window.open打开页面,不刷新已经打开过的页面

我的思路是:把已经打开过的页面的title和window对象存起来,如果要打开的页面的title已经存在了,就直接foucs到已存在的页面window对象,不新调用open函数。

  var iframeWin = [];
    $("#btn-open-in-new-win").on("click",function () {
        var iframe =  $(".iframe-box:visible iframe");
        if(!iframe.length)
            return;
        var id = $(iframe).contents().find("title").html();
        var win = iframeWin.search(id,[‘id‘],true);
        if(!win.length){
            win = window.open(iframe[0].src,id);
            iframeWin.push({id:id,win:win});
        }
        else if (win[0].win.closed) {
            iframeWin.removeIfExited({id:id},[‘id‘]);
            win = window.open(iframe[0].src,id);
            iframeWin.push({id:id,win:win});
        }else{
            win[0].win.focus();
        }
    });

之前写的js数组方法

/**
 *在数组中查找值
 * value: 值 或 值数组
 * props: 对象数组的属性名称数组,属性名称,不可以为null
 * isEquals 是否不是匹配,而是相等
 */
Array.prototype.search = function(value, props, isEquals) {

    var len,results= [];
    if(value && value instanceof  Array){
        var resultsArr = [],resultsTemp;
        len = value.length;
        if(!len){
            return this;
        }
        for (var i = 0; i 

使用window.open切换到之前打开过的新页面

标签:rem   pen   break   ceo   window   array   false   indexof   ISE   

原文地址:https://blog.51cto.com/beetsuan/2364522


评论


亲,登录后才可以留言!