window.showModalDialog()返回值的学习心得总结_javascript技巧
下面先说说window.showModalDialog的基本用法
showModalDialog() (IE 4+ 支持)
showModelessDialog() (IE 5+ 支持)
window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框。
window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框。
使用方法:
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])
参数说明:
sURL--必选参数,类型:字符串。用来指定对话框要显示的文档的URL。
vArguments--可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。
sFeatures--可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。
1.dialogHeight :对话框高度,不小于100px,IE4中dialogHeight 和 dialogWidth 默认的单位是em,而IE5中是px,为方便其见,在定义modal方式的对话框时,用px做单位。
2.dialogWidth: 对话框宽度。
3.dialogLeft: 离屏幕左的距离。
4.dialogTop: 离屏幕上的距离。
5.center: {yes | no | 1 | 0 }:窗口是否居中,默认yes,但仍可以指定高度和宽度。
6.help: {yes | no | 1 | 0 }:是否显示帮助按钮,默认yes。
7.resizable: {yes | no | 1 | 0 } [IE5+]:是否可被改变大小。默认no。
8.status: {yes | no | 1 | 0 } [IE5+]:是否显示状态栏。默认为yes[ Modeless]或no[Modal]。
9.scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes。
下面几个属性是用在HTA中的,在一般的网页中一般不使用。
10.dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印预览时对话框是否隐藏。默认为no。
11.edge:{ sunken | raised }:指明对话框的边框样式。默认为raised。
12.unadorned:{ yes | no | 1 | 0 | on | off }:默认为no。
参数传递:
1.要想对话框传递参数,是通过vArguments来进行传递的。类型不限制,对于字符串类型,最大为4096个字符。也可以传递对象,例如:
<script><BR>var obj = new Object();<BR>obj.name="ttop";<BR>window.showModalDialog("test.htm",obj,"dialogWidth=200px;dialogHeight=100px");<BR></script>
test.htm
<script><BR>var obj = window.dialogArguments<BR>alert("您传递的参数为:" + obj.name)<BR></script>
2.可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如:
<script><BR>str =window.showModalDialog("test.htm",,"dialogWidth=200px;dialogHeight=100px");<BR>alert(str);<BR></script>
test.htm
<script><BR>window.returnValue="/";<BR></script>
一、showModalDialog和showModelessDialog有什么不同?
showModalDialog:被打开后就会始终保持输入焦点。除非对话框被关闭,否则用户无法切换到主窗口。类似alert的运行效果。
showModelessDialog:被打开后,用户可以随机切换输入焦点。对主窗口没有任何影响(最多是被挡住一下而以。:P)
二、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口?
在被打开的网页里加上
三、怎样才刷新showModalDialog和showModelessDialog里的内容?
在showModalDialog和showModelessDialog里是不能按F5刷新的,又不能弹出菜单。这个只能依靠javascript了,以下是相关代码:
将filename.htm替换成网页的名字然后将它放到你打开的网页里,按F5就可以刷新了,注意,这个要配合
四、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。
也要配合
五、showModalDialog和showModelessDialog数据传递技巧。
(作者语:本来想用一问一答形式来写的,但是我想不出这个怎么问,所以只好这样了。)
这个东西比较麻烦,我改了好几次了不是没办法说明白(语文水平越来越差了),只好用个例子说明了。
例子:现在需要在一个showModalDialog(或showModelessDialog)里读取或设置一个变量var_name
一般的传递方式:
window.showModalDialog("filename.htm",var_name)
//传递var_name变量
在showModalDialog(或showModelessDialog)读取和设置时:
alert(window.dialogArguments)//读取var_name变量
window.dialogArguments="oyiboy"//设置var_name变量
这种方式是可以满足的,但是当你想在操作var_name同时再操作第二个变理var_id时呢?就无法再进行操作了。这就是这种传递方式的局限性。
以下是我建议使用的传递方式:
window.showModalDialog("filename.htm",window)
//不管要操作什么变量,只直传递主窗口的window对象
在showModalDialog(或showModelessDialog)读取和设置时:
alert(window.dialogArguments.var_name)//读取var_name变量
window.dialogArguments.var_name="oyiboy"//设置var_name变量
同时我也可以操作var_id变量
alert(window.dialogArguments.var_id)//读取var_id变量
window.dialogArguments.var_id="001"//设置var_id变量
同样还可以对主窗口的任何对象进行操作,如form对象里的元素。
window.dialogArguments.form1.index1.value="这是在设置index1元素的值"
在父页面中用onClick=""var reVal = window.showModalDialog('changephoto.htm','dialogWidth:500px;dialogHeight:300px;help:no');if (typeof(reVal) != 'undefined') {form.textname.value=reVal;}"" cursor:hand "">点击这里修改图片
在字窗口'changephoto.htm'中打开一个框架集,框架集中包含一个asp文件,先将asp的值返回到changephoto.htm中 再将这个值返回到主页面中
changephoto.htm:
function onClose() { window.returnValue = form1.save.value;//也可以将window.returnValue改成window.dialogArguments.oblogform.blogimage.value window.close(); }
asp文件:parent.document.form1.save.value ="值或变量";

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Lorsqu'il s'agit de threads, votre cerveau devrait avoir cette impression : nous pouvons contrôler quand il démarre, mais nous ne pouvons pas contrôler quand il se termine. Alors, comment obtenir la valeur de retour du thread ? Aujourd'hui, je vais partager certaines de mes propres pratiques. Méthode 1 : utilisez une liste de variables globales pour enregistrer la valeur de retour ret_values = [] def thread_func(*args): ... value = ... ret_values.append(value) Une raison de choisir une liste est la suivante : append() de la liste Les méthodes sont thread-safe et dans CPython, le GIL empêche tout accès simultané à celles-ci. Si vous utilisez une structure de données personnalisée et

Les solutions à la valeur de retour ignorée de scanf incluent la vérification de la valeur de retour de scanf, l'effacement du tampon d'entrée et l'utilisation de fgets au lieu de scanf. Introduction détaillée : 1. Vérifiez la valeur de retour de scanf. Vous devez toujours vérifier la valeur de retour de la fonction scanf. La valeur de retour de la fonction scanf est le nombre de paramètres lus avec succès. Si la valeur de retour n'est pas cohérente avec celle attendue, cela signifie que l'entrée est incorrecte ; 2 , Effacez le tampon d'entrée Lors de l'utilisation de la fonction scanf, si les données d'entrée ne correspondent pas au format attendu, les données du tampon d'entrée seront perdues, etc.

Utilisez la fonction Math.min() de Java pour comparer la taille de deux valeurs numériques et renvoyer la valeur la plus petite. Lors du développement d'applications Java, nous devons parfois comparer les tailles de deux valeurs numériques et renvoyer le nombre le plus petit. Java fournit la fonction Math.min() pour implémenter cette fonction. La fonction Math.min() est une méthode statique de la classe JavaMath. Elle permet de comparer la taille de deux valeurs et de renvoyer le plus petit nombre. Sa syntaxe est la suivante : publicstaticintmi

Oui, les fonctions Go peuvent renvoyer plusieurs valeurs en renvoyant un tuple, qui est une valeur immuable pouvant contenir différents types de données.

Les pointeurs de fonction peuvent être utilisés comme valeurs de retour de fonction, nous permettant de déterminer au moment de l'exécution quelle fonction appeler. La syntaxe est la suivante : returntype(*function_name)(param1,param2,...). Les avantages incluent une liaison dynamique et un mécanisme de rappel qui nous permettent d'ajuster les appels de fonction selon les besoins.

Les types de retour de fonction C++ incluent : void (aucune valeur de retour), types de base (entiers, nombres à virgule flottante, caractères et valeurs booléennes), pointeurs, références, classes et structures. Lors du choix, tenez compte de la fonctionnalité, de l’efficacité et de l’interface. Par exemple, la fonction factorielle qui calcule la factorielle renvoie un type entier pour répondre aux exigences fonctionnelles et éviter des opérations supplémentaires.

La valeur de retour de la fonction est cruciale en C++, car elle permet à la fonction de renvoyer des données d'un type spécifié : le type de valeur de retour définit le type de données renvoyées par la fonction, y compris les types de base (tels que int, float) et les types personnalisés (tels que pointeurs, références). La signification de la valeur de retour varie en fonction de l'intention de la fonction, comme renvoyer un résultat, indiquer un statut, fournir une référence ou créer un nouvel objet.

Cet article vous expliquera en détail le nom de clé actuellement pointé par le pointeur interne du tableau renvoyé par PHP. L'éditeur pense que c'est assez pratique, je le partage donc avec vous comme référence, j'espère que vous pourrez gagner quelque chose après. en lisant cet article. PHP renvoie le nom de la clé actuellement pointée par le pointeur interne du tableau. PHP fournit une fonction appelée key() pour renvoyer le nom de la clé actuellement pointée par le pointeur interne du tableau. Cette fonction fonctionne sur les tableaux indexés et les tableaux associatifs. Syntaxe key(array) Paramètre tableau : tableau à partir duquel le nom de la clé doit être obtenu. La valeur de retour est le nom de clé actuellement pointé par le pointeur interne. S'il s'agit d'un tableau d'index, l'index entier est renvoyé ; s'il s'agit d'un tableau associatif, le nom de clé de chaîne est renvoyé. Si le tableau est vide ou si le pointeur interne pointe vers la fin du tableau, NULL est renvoyé.
