js弹开页面并调用方法
每次重新写一个功能的时候,都能发现以前写的并不太好,都可以改进,奇怪的是我还是我,为什么曾经的我就想不起来要这么写,比如下面两段代码
历史代码:
if (infoTablePage != null) { /*对象不为空,那肯定是这里主动创建的,分为【依然是打开的】和【已经关闭掉】两种状态*/
if (infoTablePage.closed) {
infoTablePage = window.open(pageurl + '?sceneid=' + value.id, pagename);
} else {
infoTablePage.openedPage2serchScene(value.id);
infoTablePage.focus();
}
} else { /*对象为空,但是监控页面也有可能是打开的状态,那么分为【打开】和【未打开】两种状态,打开就获取打开的页面*/
infoTablePage = window.open('', pagename);
if (infoTablePage.openedPage2serchScene) {
infoTablePage.openedPage2serchScene(value.id);
infoTablePage.focus();
} else {
infoTablePage = window.open(pageurl + '?sceneid=' + value.id, pagename);
}
}
如今重新利用这个功能,发现可以这么写:
/*对象为空,但是监控页面也有可能是打开的状态,那么分为【打开】和【未打开】两种状态,打开就获取打开的页面*/
if (infoTablePage == null) {
infoTablePage = window.open('', pagename);
} /*如果获取到了页面,就调用页面的初始化台站的方法,否则就不会有方法可以调用,需要打开这个页面*/
if (infoTablePage.openedPage2serchScene && !infoTablePage.closed) {
infoTablePage.openedPage2serchScene(value.id);
infoTablePage.focus();
} else {
infoTablePage = window.open(pageurl + '?sceneid=' + value.id, pagename);
}
js弹开页面并调用方法的更多相关文章
- Angular.js中处理页面闪烁的方法详解
Angular.js中处理页面闪烁的方法详解 前言 大家在使用{{}}绑定数据的时候,页面加载会出现满屏尽是{{xxx}}的情况.数据还没响应,但页面已经渲染了.这是因为浏览器和angularjs渲染 ...
- JS获取当前页面URL的方法
1.JS获取当前页面URL的方法小结 ①. document.URL; http://localhost:81/Test/1.htm/id/12 ② ...
- javascript(js)自动刷新页面的实现方法总结
自动刷新页面的实现方法总结: 1) <meta http-equiv="refresh"content="10;url=跳转的页面"> 10表示间隔 ...
- iframe父子页面相互调用方法,相互获取元素
父页面获取子页面 var childWin = document.getElementById('setIframe').contentWindow;//获取子页面窗口对象 childWin.send ...
- JS函数的定义与调用方法
JS函数调用的四种方法:方法调用模式,函数调用模式,构造器调用模式,apply,call调用模式 1.方法调用模式:先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来 ...
- 【转】JS函数的定义与调用方法
JS函数调用的四种方法:方法调用模式,函数调用模式,构造器调用模式,apply,call调用模式 1.方法调用模式:先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来 ...
- js弹框的3种方法
js的三种弹框的方法 1.第一种 : alert("1"); 2.第二种 : window.open("Tests2.html"); var r = con ...
- js 弹出新页面,避免被浏览器、ad拦截的一种办法
以绑定click弹窗的方式,改为普通的链接,即 a[target=_blank],在点击打开新窗口之前,修改其href. 绑定mousedown,鼠标点击执行完成前修改href. 绑定focus,保证 ...
- JS设置打印页面并调用本地打印机打印页面
<script type="text/javascript"> var hkey_key; var hkey_root = "HKEY_CURRENT_USE ...
随机推荐
- 函数操作(this操作)
1.apply/call函数:会改变this关键字,并且第一个参数作为this关键字. /*apply与call区别*/ console.log(Array.prototype.join.call([ ...
- shell中的四种模式匹配
POSIX为shell为进行模式匹配提供了四种参数替换结构(老版本的shell可能不支持),每种结构有两个参数:变量名(或变量号)及模式. 第一种模式: ${variable%pattern}, ...
- Redis总结(五)缓存雪崩和缓存穿透等问题 Web API系列(三)统一异常处理 C#总结(一)AutoResetEvent的使用介绍(用AutoResetEvent实现同步) C#总结(二)事件Event 介绍总结 C#总结(三)DataGridView增加全选列 Web API系列(二)接口安全和参数校验 RabbitMQ学习系列(六): RabbitMQ 高可用集群
Redis总结(五)缓存雪崩和缓存穿透等问题 前面讲过一些redis 缓存的使用和数据持久化.感兴趣的朋友可以看看之前的文章,http://www.cnblogs.com/zhangweizhon ...
- 微软的技术态度 -- 从其对于CRT的设计考虑说起(Thought on the CRT - What Microsoft Prefers)
很多人从C语言学习过来的人都知道,在编写程序时用到的像printf这样的函数,是作为该语言标准库函数提供的,这也是C语言标准中规定的内容.因此,操作系统必须对其保持一定程度上的透明,也就是说,作为一个 ...
- 1695 windows 2013
1695 windows 2013 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 话说adam ...
- 读取Excel文件到DataTable中
private static string[] GetExcelSheetNames(OleDbConnection conn) { DataTable dtbSh ...
- Access restriction:The type JPEGCodec is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar 报错
报错: Access restriction:The type JPEGCodec is not accessible due to restriction on required library C ...
- SmartDispatcher 类
UI线程中使用 public class SmartDispatcher { public static void BeginInvoke(Action action) { if (Deploymen ...
- 一、Linux文件权限与目录配置
行文结构如下: 用户和用户组 Linux文件权限概念 Linux目录配置 重点回顾 1.用户与用户组 Linux是个多用户.多任务的系统,可能有多人同时使用这台机器进行工作,为了考虑每个人的隐私和工作 ...
- SQLYog 快捷键
SQLYog常用快捷键 Ctrl+M 创建一个新的连接Ctrl+N 使用当前设置新建连接Ctrl+F4 断开当前连接 对象浏览器F5 刷新对象浏览器(默认)Ctr ...