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

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 + "请求有误!");
}
}
});
};

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

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

    转自:js中几种实用的跨域方法原理详解 - 无双 - 博客园 // // 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同 ...

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

    今天研究js跨域问题的时候发现一篇好博,非常详细地讲解了js几种跨域方法的原理,特分享一下. 原博地址:http://www.cnblogs.com/2050/p/3191744.html 下面正文开 ...

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

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

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

    源地址:http://www.cnblogs.com/2050/p/3191744.html 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通 ...

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

    这种方式仅适合于比较小的项目,例如只有一两台服务器,而且配置文件是可以直接修改的.例如 Spring mvc 以 war 包的形式部署,可以直接修改resources 中的配置文件.如果是 Sprin ...

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

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

  7. java 项目中几种O实体类的概念

    经常会接触到vo,do,dto的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析. 得出的主要结论是:在项目应用中,vo对应于页面上需要显示的数据(表单),do对应 ...

  8. Android Studio项目中三种依赖的添加方式

    通常一个AS项目中的依赖关系有三种,一是本地依赖(主要是对本地的jar包),二是模块依赖,三是远程依赖:添加这些依赖的目的在于上我们想要在项目的某一个模块中使用其中的功能,比如okttp这个网络框架库 ...

  9. js和php中几种生成验证码的方式

    之前做过取随机数和生成验证码的练习,都是通过取随机数作为数组下标,然后从数组中取值的方式(js): /*验证码*/ function sj_yzm(){ //存一个包括数字和字母的数组 var zon ...

随机推荐

  1. js同时获取多个同name的input框的值

    demo代码 <!doctype html> <html ng-app="a3_4"> <head> <title>表头排序< ...

  2. Thinkphp+ECharts生成柱状图

    1.首先进ECharts官网下载echarts.js 点击下载,结合TP5讲解,主要代码在js里面,更多请到ECharts官网 2.引进echarts.js <!DOCTYPE html> ...

  3. CSS 水平居中和垂直居中

    1.水平居中——行内元素 text-align: center; 2.水平居中——定宽块状元素 margin: auto,满足定宽和块状两个条件的元素是可以通过设置“左右margin”值为“auto” ...

  4. 除虫记之C#调用C函数出现的诡异错误

     作者:朱金灿 来源:http://blog.csdn.net/clever101 同事反映在在项目中使用C#程序调用我们部门编写的C++模块出现一个诡异错误:在调用A算法失败后,其它算法均不能调 ...

  5. 如何在Vue中建立全局引用或者全局命令

    1 一般在vue中,有很多vue组件,这些组件每个都是一个文件.都可能需要引用到相同模块(或者插件).我们不想每个文件都import 一次模块. 如果是基于vue.js编写的插件我们可以用 Vue.u ...

  6. Vue + WebPack + Typescript初学者VSCode项目 (按需加载、跨域调试、await/async)

    万事开头难,一个好的Hello World程序可以节省我们好多的学习时间,帮助我们快速入门.Hello World程序之所以是入门必读必会,就是因为其代码量少,简单易懂.但我觉得,还应该做到功能丰富, ...

  7. Android 经典欧美小游戏 guess who

    本来是要做iOS开发的,因为一些世事无常和机缘巧合与测试工作还有安卓系统结下了不解之缘,前不久找到了guess who 源码,又加入了一些自己的元素最终完成了这个简单的小游戏. <?xml ve ...

  8. Linux简单使用

    1.基本命令 创建目录pathA:mkdir pathA 进入目录pathA:cd pathA 查看目录内容:ls 查看目录下文件的详细信息:ls -l,也可以是:ll(l是小写的L,别看错了) 拷贝 ...

  9. python 遇到的一些坑

    lst = [1, 2, 4] print lst.__iter__().next() # 打印出来的是 1 print lst.__iter__().next() # 打印出来的是 1 # 调用__ ...

  10. 互联网,IT,大数据,机器学习,AI知识tag云

    互联网基础: tcp/ip网络,linux运维,DNS,ipv6 web前端: javascript, es6, 组件化开发, vuejs, angularjs, react html5, css3, ...