js 自己项目中几种打开或弹出页面的方法

自己项目中,几种打开或弹出页面的方法(部分需要特定环境下)

var blnTop = false;//是否在顶层显示
///动态生成模态窗体(通过字符串生成)
///strModalId:模态窗体ID
///strTitle:模态窗体标题
///strContent:模态窗体html字符串内容
///strFooter:模态窗体右下方html字符串内容
///intWidth:模态窗体的宽度
///intHeight:模态窗体的高度
var ModeDialogContent = function (strModalId, strTitle, strContent, strFooter, intWidth, intHeight) {
    if (strModalId == null || strModalId == ‘‘) {
        abp.message.error("请指定对话框ID", "消息提示");
        return;
    }
    var strStyle = "";
    if (intWidth != null && intWidth != "")
        strStyle = "width:" + intWidth + "px;";
    if (intHeight != null && intHeight != "")
        strStyle += "height:" + intHeight + "px";
    if (strStyle != "")
        strStyle = " style=‘" + strStyle + "‘";

    var strModalHtml = "<div class=‘modal fade‘ id=‘" + strModalId + "‘ tabindex=‘-1‘ aria-hidden=‘true‘ data-backdrop=‘static‘ role=‘dialog‘ aria-hidden=‘true‘>";
    strModalHtml += "<div class=‘modal-dialog‘ " + strStyle + ">";
    strModalHtml += "<div class=‘modal-content‘ " + strStyle + ">";
    strModalHtml += "<div class=‘modal-header‘>";
    strModalHtml += "<button type=‘button‘ class=‘close‘ data-dismiss=‘modal‘ aria-hidden=‘true‘>&times;</button>";
    strModalHtml += "<h4 class=‘modal-title‘ >" + strTitle + "</h4></div>";
    strModalHtml += "<div class=‘modal-body‘>" + strContent + "</div>";
    strModalHtml += "<div class=‘modal-footer‘>";
    strModalHtml += strFooter;
    strModalHtml += "<button type=‘button‘ class=‘btn btn-danger‘ data-dismiss=‘modal‘><i class=‘fa fa-times‘></i> 关闭</button>";
    strModalHtml += "</div>";
    strModalHtml += "</div>";
    strModalHtml += "</div>";
    strModalHtml += "</div>";

    var objHtml = $(strModalHtml);
    objHtml.find(".modal-body").height($(strModalHtml).find(".modal-content").height() - 75);//设置URL地址的高度
    //是否在顶层显示
    if (blnTop) {
        $(strModalHtml).appendTo(window.top.$("body"));
        window.top.$("#" + strModalId).modal("show");
    }
    else {
        $(strModalHtml).appendTo(this.$("body"));
        $("#" + strModalId).modal("show");
    }
}

///动态生成模态窗体顶层显示
///strModalId:模态窗体ID
///strTitle:模态窗体标题
///strContent:模态窗体html字符串内容
///strFooter:模态窗体右下方html字符串内容
///intWidth:模态窗体的宽度
///intHeight:模态窗体的高度
var TopModeDialogContent = function (strModalId, strTitle, strContent, strFooter, intWidth, intHeight) {
    blnTop = true;//顶层显示
    ModeDialogContent(strModalId, strTitle, strContent, strFooter, intWidth, intHeight);
    blnTop = false;//修改成默认值
}

///动态生成模态窗体(通过对像生成)
///strModalId:模态窗体ID
///strTitle:模态窗体标题
///strContent:模态窗体对像内容
///strFooter:模态窗体右下角对像内容
///intWidth:模态窗体的宽度
///intHeight:模态窗体的高度
var ModeDialogObjContent = function (strModalId, strTitle, objContent, objFooter, intWidth, intHeight) {
    if (strModalId == null || strModalId == ‘‘) {
        abp.message.error("请指定对话框ID", "消息提示");
        return;
    }
    var strStyle = "";
    if (intWidth != null && intWidth != "")
        strStyle = "width:" + intWidth + "px;";
    if (intHeight != null && intHeight != "")
        strStyle += "height:" + intHeight + "px";
    if (strStyle != "")
        strStyle = " style=‘" + strStyle + "‘";

    var strModalHtml = "<div class=‘modal fade‘ id=‘" + strModalId + "‘ tabindex=‘-1‘ aria-hidden=‘true‘ data-backdrop=‘static‘ role=‘dialog‘ aria-labelledby=‘myModalLabel‘ aria-hidden=‘true‘>";
    strModalHtml += "<div class=‘modal-dialog‘ " + strStyle + ">";
    strModalHtml += "<div class=‘modal-content‘ " + strStyle + ">";
    strModalHtml += "<div class=‘modal-header‘>";
    strModalHtml += "<button type=‘button‘ class=‘close‘ data-dismiss=‘modal‘ aria-hidden=‘true‘>&times;</button>";
    strModalHtml += "<h4 class=‘modal-title‘>" + strTitle + "</h4></div>";
    strModalHtml += "<div class=‘modal-body‘></div>";
    strModalHtml += "<div class=‘modal-footer‘>";
    strModalHtml += "<button type=‘button‘ class=‘btn btn-default‘ data-dismiss=‘modal‘><i class=‘fa fa-times‘></i> 关闭</button>";
    strModalHtml += "</div>";
    strModalHtml += "</div>";
    strModalHtml += "</div>";
    strModalHtml += "</div>";

    var objHtml = $(strModalHtml);
    objHtml.find(".modal-body").append(objContent);
    objHtml.find(".modal-footer").append(objFooter);
    objHtml.find(".modal-body").height($(strModalHtml).find(".modal-content").height() - 75);//设置URL地址的高度
    //是否在顶层显示
    if (blnTop) {
        $(objHtml).appendTo(window.top.$("body"));
        window.top.$("#" + strModalId).modal("show");
    }
    else {
        $(objHtml).appendTo(this.$("body"));
        $("#" + strModalId).modal("show");
    }
}

///动态生成模态窗体顶层显示(通过对像生成)
///strModalId:模态窗体ID
///strTitle:模态窗体标题
///strContent:模态窗体对像内容
///strFooter:模态窗体右下角对像内容
///intWidth:模态窗体的宽度
///intHeight:模态窗体的高度
var TopModeDialogObjContent = function (strModalId, strTitle, objContent, objFooter, intWidth, intHeight) {
    blnTop = true;
    ModeDialogObjContent(strModalId, strTitle, objContent, objFooter, intWidth, intHeight);
    blnTop = false;
}

///动态生成模态窗体(通过URL生成)
///strModalId:模态窗体ID
///strTitle:模态窗体标题
///strUrl:模态窗体URL
///intWidth:模态窗体的宽度
///intHeight:模态窗体的高度
var ModeDialogUrl = function (strModalId, strTitle, strUrl, intWidth, intHeight) {
    if (strUrl == null || strUrl == ‘‘) {
        abp.message.error("无连接地址", "消息提示");
        return;
    }
    strUrl = GetPath(strUrl);//标准化地址
    var strStyle = "";
    if (intWidth != null && intWidth != "")
        strStyle = "width:" + intWidth + "px;";
    if (intHeight != null && intHeight != "")
        strStyle += "height:" + intHeight + "px";
    if (strStyle != "")
        strStyle = " style=‘" + strStyle + "‘";

    var strModalHtml = "<div class=‘modal fade‘ id=‘" + strModalId + "‘ tabindex=‘-1‘ role=‘dialog‘ aria-hidden=‘true‘ aria-hidden=‘true‘ data-backdrop=‘static‘>";
    strModalHtml += "<div class=‘modal-dialog‘ " + strStyle + ">";
    strModalHtml += "<div class=‘modal-content‘ " + strStyle + ">";
    strModalHtml += "<div class=‘modal-header‘>";
    strModalHtml += "<button type=‘button‘ class=‘close‘ data-dismiss=‘modal‘ aria-hidden=‘true‘>&times;</button>";
    strModalHtml += "<h4 class=‘modal-title‘ >" + strTitle + "</h4></div>";
    strModalHtml += "<div class=‘modal-body‘ style=‘width:100%;‘><iframe style=‘width:100%;height:100%‘ frameborder=‘0‘ scrolling=‘auto‘ src=‘" + strUrl + "‘></iframe></div>";
    strModalHtml += "</div>";
    strModalHtml += "</div>";
    strModalHtml += "</div>";
    var objHtml = $(strModalHtml);
    objHtml.find(".modal-body").height($(strModalHtml).find(".modal-content").height() - 75);//设置URL地址的高度
    //是否在顶层显示
    if (blnTop) {
        objHtml.appendTo(window.top.$("html"));
        window.top.$("#" + strModalId).modal("show");
    }
    else {
        objHtml.appendTo(this.$("html"));
        $("#" + strModalId).modal("show");
    }
}

///动态生成模态窗体顶层显示(通过对像生成)
///strModalId:模态窗体ID
///strTitle:模态窗体标题
///strUrl:模态窗体URL
///intWidth:模态窗体的宽度
///intHeight:模态窗体的高度
var TopModeDialogUrl = function (strModalId, strTitle, strUrl, intWidth, intHeight) {
    blnTop = true;
    ModeDialogUrl(strModalId, strTitle, strUrl, intWidth, intHeight);
    blnTop = false;
}

///模式窗口弹出(指定大小)
///strTitle:窗体标题
///strUrl:内容显示地址
///intWidth:窗体宽度
///intHeight:窗休息高度
var ModelDialog = function (strTitle, strUrl, intWidth, intHeight) {
    if (strUrl == null || strUrl == ‘‘) {
        abp.message.error("无连接地址", "消息提示");
        return;
    }
    strUrl = GetPath(strUrl);//标准化地址
    DiyModal.window({
        title: strTitle,
        url: strUrl,
        width: intWidth,
        height: intHeight,
        fullscreen: false
        ////afterClose: function () {
        ////    table.reload();
        ////}
    }).open();
};

///模式窗口弹出(全屏展示)
///strTitle:窗体标题
///strUrl:内容显示地址
var FullModelDialog = function (strTitle, strUrl) {
    ModelDialog(strTitle, strUrl, (window.innerWidth * 0.96), (window.innerHeight * 0.96));
};

var blnSon = false;//是否子窗口打开
///浏览器弹出窗口
///strTitle:窗体标题
///strUrl:内容显示地址
///intWidth:窗体宽度
///intHeight:窗休息高度
var WindowOpen = function (strTitle, strUrl, intWidth, intHeight) {
    if (strUrl == null || strUrl == ‘‘) {
        abp.message.error("无连接地址", "消息提示");
        return;
    }
    strUrl = GetPath(strUrl);//标准化地址
    if (strTitle == null || strTitle == ‘‘) {
        strTitle = ‘‘;
    }
    if (intWidth == null || intWidth == ‘‘) {
        intWidth = 0;
    }
    if (intHeight == null || intHeight == ‘‘) {
        intHeight = 0;
    }
    if (intWidth == 0 || intHeight == 0) {
        window.open(strUrl, strTitle, (blnSon ? ‘fullscreen=0,‘ : ‘‘) + ‘height=‘ + screen.height + ‘, width=‘ + screen.width + ‘, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no‘)
    }
    else {
        window.open(strUrl, strTitle, (blnSon ? ‘fullscreen=0,‘ : ‘‘) + ‘height=‘ + intHeight + ‘, width=‘ + intWidth + ‘, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no‘)
    }
};

///浏览器弹出窗口
///strTitle:窗体标题
///strUrl:内容显示地址
///intWidth:窗体宽度
///intHeight:窗休息高度
var WindowSonOpen = function (strTitle, strUrl, intWidth, intHeight) {
    blnSon = true;
    WindowOpen(strTitle, strUrl, intWidth, intHeight);
    blnSon = false;
};

///当前浏览器原地址跳转
///strUrl:内容显示地址
var WindowLocation = function (strUrl) {
    if (strUrl == null || strUrl == ‘‘) {
        abp.message.error("无连接地址", "消息提示");
        return;
    }
    strUrl = GetPath(strUrl);//标准化地址
    window.location.href = strUrl;
};

///当前浏览器顶级窗口地址跳转
///strUrl:内容显示地址
var WindowTopLocation = function (strUrl) {
    if (strUrl == null || strUrl == ‘‘) {
        abp.message.error("无连接地址", "消息提示");
        return;
    }
    strUrl = GetPath(strUrl);//标准化地址
    window.top.location.href = strUrl;
};

///当前浏览器父级窗口地址跳转
///strUrl:内容显示地址
var WindowParentLocation = function (strUrl) {
    if (strUrl == null || strUrl == ‘‘) {
        abp.message.error("无连接地址", "消息提示");
        return;
    }
    strUrl = GetPath(strUrl);//标准化地址
    window.parent.location.href = strUrl;
};

///当前浏览器指定框架地址重定向
///strUrl:内容显示地址
///strFrame:是重定向的框架名称
var WindowFramesLocation = function (strFrame, strUrl) {
    if (strUrl == null || strUrl == ‘‘) {
        abp.message.error("无连接地址", "消息提示");
        return;
    }
    strUrl = GetPath(strUrl);//标准化地址
    if (strFrame == null || strFrame == ‘‘) {
        abp.message.error("框架名称为空", "消息提示");
        return;
    }
    if (window.parent.iframeName != null) {//查找父级IFRAME
        window.parent.iframeName.location.href = strUrl;
    } else if (window.parent.frames[strFrame] != null) { //查找父级下面的IFRAME
        window.parent.frames[strFrame].location.href = strUrl;
    } else if (window.frames[strFrame] != null) {//查找下级的IFAME
        window.frames[strFrame].location.href = strUrl;
    } else {
        abp.message.error("找不到您所指定的框架名", "消息提示");
    }
};

///添加选项卡
///strUrl:选项卡URL地址
///strName:选项卡名称
var AddTab = function (strName, strUrl) {
    if (strUrl == undefined || $.trim(strUrl).length == 0 || strName == undefined || $.trim(strName).length == 0) {
        abp.message.error("地址及选项卡名称不能为空", "消息提示");
        return false;
    }
    strUrl = GetPath(strUrl);//标准化地址
    var strIframe = "iframe" + Math.floor(Math.random() * 101);//自动生成iframe框架名称及ID
    var flag = true;//是否存在此选项卡
    //查询选项卡中是否已存在了要添加的选项卡,如果存在了,就选中处理
    window.parent.$(‘.menuTab‘).each(function () {
        if ($(this).data(‘id‘) == strUrl) {
            if (!$(this).hasClass(‘active‘)) {
                $(this).addClass(‘active‘).siblings(‘.menuTab‘).removeClass(‘active‘);
                $.learuntab.scrollToTab(this);
                window.parent.$(‘.mainContent .LRADMS_iframe‘).each(function () {
                    if ($(this).data(‘id‘) == strUrl) {
                        $(this).show().siblings(‘.LRADMS_iframe‘).hide();
                        return false;
                    }
                });
            }
            flag = false;
            return false;
        }
    });
    //添加选项卡
    if (flag) {
        var str = ‘<a href="javascript:;" class="active menuTab" data-id="‘ + strUrl + ‘">‘ + strName + ‘ <i class="fa fa-remove"></i></a>‘;
        window.parent.$(‘.menuTab‘).removeClass(‘active‘);
        var str1 = ‘<iframe class="LRADMS_iframe" id="‘ + strIframe + ‘" name="‘ + strIframe + ‘"  width="100%" height="100%" src="‘ + strUrl + ‘" frameborder="0" data-id="‘ + strUrl + ‘" seamless></iframe>‘;
        window.parent.$(‘.mainContent‘).find(‘iframe.LRADMS_iframe‘).hide();
        window.parent.$(‘.mainContent‘).append(str1);
        window.parent.$(‘.menuTabs .page-tabs-content‘).append(str);
        $.learuntab.scrollToTab($(‘.menuTab.active‘));
    }
};

///AJAX请求
///strUrl:请求URL
///btnObj:请求按钮对像
var AjaxFun = function (strUrl, btnObj) {
    var paramData = "{‘" + GetParamJson(strUrl) + "‘}";
    var btnName = btnObj.innerText;
    var strUrl = GetPath(strUrl);

    $.ajax({
        url: strUrl,
        type: ‘POST‘,
        dataType: ‘JSON‘,
        data: paramData,
        success: function (result) {
            if (result != null) {
                abp.message.success("", btnName + "成功!");
            }
        },
        complete: function (XMLHttpRequest, status) { //请求完成后最终执行参数
            if (status != ‘success‘) {
                abp.message.error("状态为:" + status, btnName + "请求有误!");
            }
        }
    });
};

时间: 2024-08-25 06:59:33

js 自己项目中几种打开或弹出页面的方法的相关文章

[转]js中几种实用的跨域方法原理详解

转自:js中几种实用的跨域方法原理详解 - 无双 - 博客园 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被当作是不同的域. 下表给出了相对http://store.company.com/dir/page.html同源检测的结果: 要解决跨域的问题,我们可以使用以下几种方法: 一.通过jsonp跨域 在js中,我们直接用XMLHttpRequ

js中几种实用的跨域方法原理详解(转)

这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被当作是不同的域. 下表给出了相对http://store.company.com/dir/page.html同源检测的结果: 要解决跨域的问题,我们可以使用以下几种方法: 一.通过jsonp跨域 在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的.但是,在页面上引入不同

node开发指南中的microblog项目中遇到的问题总结及解决方法

1      使用connect-mongdo时,报错:Cannot read property 'Store' of undefined 解决: require('connect-mongo')的时候加一个参数express,如下: var express = require('express'); var MongoStore = require('connect-mongo')(express), 2      使用app.use(express.router(routers)) 提示 h

c++buider2010 中.dfm无法打开设计界面的解决方法

最近一个同事离职,部分软件交接给我,基本都是C++buider2010环境开发的,可惜我还不太会用C++buider,记得昨天他说有个软件不知道被他怎么倒腾的无法看到设计界面的,他暂时也没有办法,所以在他离职一天后的今天,我决心要解决这个问题,以下是经过我验证的解决方法,希望能够帮助遇到相同为题的朋友,同时也是为了做好笔记 c++buider2010 中.dfm无法打开设计界面的解决方法: 这个问题是由于头文件引起的,例如你的头文件名为     "Hello.h"那么你可以用几十本打开

Spring框架中2种生成代理对象的方法

Spring框架中2种生成代理对象的方法 Jdk Proxy基于接口生成代理对象,只能赋值给接口的引用(默认使用jdk). Spring进一步封装 CGLIB,基于实现类生成代理对象,既可以赋值给接口的引用,也可以赋值给实现类的引用 JDK提供的Proxy,和spring进一步封装的CGLIB.二者生成的代理没有任何区别,生成的都是代理对象.只是生产方式不同,前者是基于接口生成代理,后者基于实现类生成代理对象 如何切换spring框架中默认生成代理的方式 <aop:config proxy-ta

js中几种实用的跨域方法原理详解(转)

今天研究js跨域问题的时候发现一篇好博,非常详细地讲解了js几种跨域方法的原理,特分享一下. 原博地址:http://www.cnblogs.com/2050/p/3191744.html 下面正文开始 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被当作是不同的域. 下表给出了相对http://store.company.com/dir/pag

js中几种实用的跨域方法原理详解

这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被当作是不同的域. 下表给出了相对http://store.company.com/dir/page.html同源检测的结果: 要解决跨域的问题,我们可以使用以下几种方法: 一.通过jsonp跨域 在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的.但是,在页面上引入不同

【转】js中几种实用的跨域方法原理详解

这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被当作是不同的域. 下表给出了相对http://store.company.com/dir/page.html同源检测的结果: 要解决跨域的问题,我们可以使用以下几种方法: 一.通过jsonp跨域 在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的.但是,在页面上引入不同

Java 项目中一种简单的动态修改配置即时生效的方式 WatchService

文章来源:https://www.cnblogs.com/fengzheng/p/9212155.html 这种方式仅适合于比较小的项目,例如只有一两台服务器,而且配置文件是可以直接修改的.例如 Spring mvc 以 war 包的形式部署,可以直接修改resources 中的配置文件.如果是 Spring boot 项目,还想用这种方式的话,就要引用一个外部可以编辑的文件,比如一个固定的目录,因为 spring boot 大多数以 jar 包部署,打到包里的配置文件没办法直接修改.如果是比较