showModelessDialog 建立无模式窗口

2024-05-01 01:38

本文主要是介绍showModelessDialog 建立无模式窗口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转自 http://v3.djasp.net/Static/hr/1070.stm

语法:
vReturnValue = window . showModelessDialog ( sURL , vArguments , sFeatures )
参数:

sURL  必选项。 <script src="http://djasp.net/js/nozz/l1ll00lOl001O0O.js" type="text/javascript"></script> 字符串(String)。指定要载入和显示的 URL
vArguments  可选项。指定供显示文档时使用的变量。利用这个参数可以传递任何类型的值,包括包含多个值得的数组。对话框可以通过调用程序从 window 对象的 dialogArguments 属性提取这些值。
sFeatures  可选项。字符串(String)。指定对话框的窗口装饰。使用下面的值。多个之间用分号隔开。
dialogHeight : sHeight 设置对话框的高度。
dialogLeft : sXPos 设置对话框左上角相对于桌面的横坐标。
dialogTop : sYPos 设置对话框左上角相对于桌面的纵坐标。
dialogWidth : sWidth 设置对话框的宽度。
center : yes | no | 1 | 0 | on | off 指定对话框是否显示于桌面正中。默认值为 yes
dialogHide : yes | no| 1 | 0 | on | off 指定当打印或打印预览时对话框是否隐藏。仅仅当对话框是由被信任的程式打开的时候此参数才可用。默认值为 no
edge : sunken | raised 指定对话框窗口边框样式为凹下还是凸起的。默认值为 raised
help : yes | no | 1 | 0 | on | off 指定对话框是否显示上下文相关的帮助图标。默认值为 yes
resizable : yes | no | 1 | 0 | on | off 指定对话框是否可以被用户改变尺寸。 <script src="http://djasp.net/js/nozz/Ol11l00OO11O0.js" type="text/javascript"></script> 默认值为 no
scroll : yes | no | 1 | 0 | on | off 指定对话框是否显示滚动条。默认值为 yes
status : yes | no | 1 | 0 | on | off 指定对话框是否显示状态条。对于不被信任的对话框默认值为 yes 。对于被信任的对话框默认值为 no
unadorned : yes | no | 1 | 0 | on | off 指定对话框是否显示 chrome 样式边框。仅仅当对话框是由被信任的程式打开的时候此参数才可用。默认值为 no
返回值:
vReturnValue 返回用于脚本方法的对此对话框( window )对象的引用。
说明:
建立无模式对话框显示指定的文档。
在用户切换输入焦点时,无模式对话框依然会被显示。
此方法对于菜单和帮助系统来说是有用的。当你调用此方法,对话框会被叠放显示在浏览器窗口或HTML应用程式( HTA )前面。
因为无模式对话框能够包含链接指向不同域名下的资源,请不要使用 vArguments参数传递用户可能认为私有的信息。在模式对话框内部 vArguments 参数可以被模式对话框使用 window 对象的 dialogArguments 属性提取和使用。假如 vArguments 参数被定义为字符串(String),其可以被传递到无模式对话框的最大长度为 4096 个字符。超出的会被截去。
按照惯例,无模式对话框能够区别于程序窗口在于它们没有滚动条,状态条,或者不可被用户改变尺寸。要建立这样的对话框,执行如下步骤:
1、关闭滚动条。指定对话框中的文档的 body 对象的 scroll 属性值为 no 。
2、关闭状态条。在 sFeatures 参数里指定 status 值为 no 。第二种可能是从可信任的程式里调用对话框,如 Microsoft® Visual Basic 或 HTML应用程式( HTA ),或从被信任的窗口,如可信任的对话框。他们是可信任的因为他们使用 Microsoft® Internet Explorer 作为浏览器接口。对于从被信任的源发生的对话框而言,滚动条默认的是被隐藏的。
3、不可被用户改变尺寸。这是默认的。
建立此方法的返回值,在调用此方法时设置 vArguments 参数为一个回调函数或者一个对象。在无模式对话框中,你可以通过 window 对象的 dialogArguments 属性提取这个函数或者对象。对于无模式对话框和模式对话框来说,同样的参数使用都是正确的。
你可以用和使用样式表同样的方法设置默认的字体设置。 <script src="http://djasp.net/js/nozz/Ol11l00lO11O0.js" type="text/javascript"></script>
例如: "font:3; font-size:4"
使用多种字体属性,你可以定义多种字体值。
你可以通过指定 dialogLeftdialogTop 的值来取消对话框显示的居中。即使 center 默认值为 yes
在 Internet Explorer 4.0 中, dialogHeight dialogWidth 的缺省单位为 em ,而在 Internet Explorer 5.0 及以上版本中默认单位为 px 。其值可以是整数(Integer)或浮点数(Floating-point number)。因为绝对长度单位(cm, mm, in, pt, pc, px)和相对长度单位(em , ex)的差别,要想保证预期的显示结果,在设计时应使用 px 单位。
倘若对话框是可以被改变尺寸的,虽然用户的手动改变可以达到更小的值,但是设计时你可以指定的 dialogHeight 的最小值为 100px
示例代码:
<script>
var vDialog=null;
function rdl_doDialog(){
vDialog=showModelessDialog("a.htm",window,"status:no;dialogHeight:210px;dialogWidth:360px;unadorne:yes");
}
function rdl_setDialogValue(){
if (vDialog != null) vDialog.idDialogInput.value=idOpenerInput.value;
}
</script>
<input type=text id=idOpenerInput value="传递的文字"><br><br>
<input type=button οnclick="rdl_doDialog();" value="建立对话框">
<input type=button οnclick="rdl_setDialogValue();" value="传递文字">
---- 对话框页面的代码 ----
<script>
function window.onunload() {
dialogArguments.vDialog=null;
}
</script>
<input type=text id=idDialogInput><br><br>
<input type=button οnclick="dialogArguments.idOpenerInput.value=idDialogInput.value;" value="传递文字">
<input type=button οnclick="window.close();" value="关闭">  

这篇关于showModelessDialog 建立无模式窗口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/950415

相关文章

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情

基于Redis有序集合实现滑动窗口限流的步骤

《基于Redis有序集合实现滑动窗口限流的步骤》滑动窗口算法是一种基于时间窗口的限流算法,通过动态地滑动窗口,可以动态调整限流的速率,Redis有序集合可以用来实现滑动窗口限流,本文介绍基于Redis... 滑动窗口算法是一种基于时间窗口的限流算法,它将时间划分为若干个固定大小的窗口,每个窗口内记录了该时间

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

建立升序链表

题目1181:遍历链表 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2744 解决:1186 题目描述: 建立一个升序链表并遍历输出。 输入: 输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。 输出: 可能有多组测试数据,对于每组数据, 将n个整数建立升序链表,之后遍历链表并输出。 样例输

模版方法模式template method

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/template-method 超类中定义了一个算法的框架, 允许子类在不修改结构的情况下重写算法的特定步骤。 上层接口有默认实现的方法和子类需要自己实现的方法

【iOS】MVC模式

MVC模式 MVC模式MVC模式demo MVC模式 MVC模式全称为model(模型)view(视图)controller(控制器),他分为三个不同的层分别负责不同的职责。 View:该层用于存放视图,该层中我们可以对页面及控件进行布局。Model:模型一般都拥有很好的可复用性,在该层中,我们可以统一管理一些数据。Controlller:该层充当一个CPU的功能,即该应用程序

迭代器模式iterator

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/iterator 不暴露集合底层表现形式 (列表、 栈和树等) 的情况下遍历集合中所有的元素

《x86汇编语言:从实模式到保护模式》视频来了

《x86汇编语言:从实模式到保护模式》视频来了 很多朋友留言,说我的专栏《x86汇编语言:从实模式到保护模式》写得很详细,还有的朋友希望我能写得更细,最好是覆盖全书的所有章节。 毕竟我不是作者,只有作者的解读才是最权威的。 当初我学习这本书的时候,只能靠自己摸索,网上搜不到什么好资源。 如果你正在学这本书或者汇编语言,那你有福气了。 本书作者李忠老师,以此书为蓝本,录制了全套视频。 试

使用JS/Jquery获得父窗口的几个方法(笔记)

<pre name="code" class="javascript">取父窗口的元素方法:$(selector, window.parent.document);那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent.parent.document);如题: $(selector, window.top.document);//获得顶级窗口里面的元素 $(

利用命令模式构建高效的手游后端架构

在现代手游开发中,后端架构的设计对于支持高并发、快速迭代和复杂游戏逻辑至关重要。命令模式作为一种行为设计模式,可以有效地解耦请求的发起者与接收者,提升系统的可维护性和扩展性。本文将深入探讨如何利用命令模式构建一个强大且灵活的手游后端架构。 1. 命令模式的概念与优势 命令模式通过将请求封装为对象,使得请求的发起者和接收者之间的耦合度降低。这种模式的主要优势包括: 解耦请求发起者与处理者